]> 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)
commit9c506cf606c3ab0c2140c1c307ce6d069f7a032d
tree6356a6353639eb473dd917a1b2062f9e7e20de22
parentc300dc81b668157a13430a46459289d272604434
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