/linux/arch/s390/kernel/ |
H A D | topology.c | diff 74af283102b358b0da545460d0d176f473e110f6 Fri Nov 14 18:18:07 CET 2008 Heiko Carstens <heiko.carstens@de.ibm.com> [S390] cpu topology: fix locking
cpu_coregroup_map used to grab a mutex on s390 since it was only called from process context. Since c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 "block: add support for IO CPU affinity" this is not true anymore. It now also gets called from softirq context.
To prevent possible deadlocks change this in architecture code and use a spinlock instead of a mutex.
Cc: stable@kernel.org Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
/linux/block/ |
H A D | blk-settings.c | diff c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Sat Sep 13 20:26:01 CEST 2008 Jens Axboe <jens.axboe@oracle.com> block: add support for IO CPU affinity
This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU.
In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired.
This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
H A D | blk-sysfs.c | diff c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Sat Sep 13 20:26:01 CEST 2008 Jens Axboe <jens.axboe@oracle.com> block: add support for IO CPU affinity
This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU.
In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired.
This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
H A D | blk.h | diff c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Sat Sep 13 20:26:01 CEST 2008 Jens Axboe <jens.axboe@oracle.com> block: add support for IO CPU affinity
This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU.
In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired.
This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
H A D | blk-core.c | diff c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Sat Sep 13 20:26:01 CEST 2008 Jens Axboe <jens.axboe@oracle.com> block: add support for IO CPU affinity
This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU.
In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired.
This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
/linux/include/linux/ |
H A D | bio.h | diff c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Sat Sep 13 20:26:01 CEST 2008 Jens Axboe <jens.axboe@oracle.com> block: add support for IO CPU affinity
This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU.
In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired.
This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
H A D | blkdev.h | diff c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Sat Sep 13 20:26:01 CEST 2008 Jens Axboe <jens.axboe@oracle.com> block: add support for IO CPU affinity
This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU.
In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired.
This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|