]> git.baikalelectronics.ru Git - kernel.git/commit
block: strict rq_affinity
authorDan Williams <dan.j.williams@intel.com>
Sat, 23 Jul 2011 18:44:25 +0000 (20:44 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Sat, 23 Jul 2011 18:44:25 +0000 (20:44 +0200)
commitd7f0248e2f5ec2bdb8fbed45302769f63c260fc7
tree6356a6353639eb473dd917a1b2062f9e7e20de22
parent4f995435e5791227a28d31413038b01154d257b6
block: strict rq_affinity

Some systems benefit from completions always being steered to the strict
requester cpu rather than the looser "per-socket" steering that
blk_cpu_to_group() attempts by default. This is because the first
CPU in the group mask ends up being completely overloaded with work,
while the others (including the original submitter) has power left
to spare.

Allow the strict mode to be set by writing '2' to the sysfs control
file. This is identical to the scheme used for the nomerges file,
where '2' is a more aggressive setting than just being turned on.

echo 2 > /sys/block/<bdev>/queue/rq_affinity

Cc: Christoph Hellwig <hch@infradead.org>
Cc: Roland Dreier <roland@purestorage.com>
Tested-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Documentation/block/queue-sysfs.txt
block/blk-core.c
block/blk-softirq.c
block/blk-sysfs.c
include/linux/blkdev.h