block: Skip I/O merges when disabled
authorAlan D. Brunelle <Alan.Brunelle@hp.com>
Tue, 29 Apr 2008 12:44:19 +0000 (14:44 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 29 Apr 2008 12:48:55 +0000 (14:48 +0200)
commitac9fafa1243640349aa481adf473db283a695766
tree155c2371cca8971638d781269f39fa015bc6509c
parentd7e3c3249ef23b4617393c69fe464765b4ff1645
block: Skip I/O merges when disabled

The block I/O + elevator + I/O scheduler code spend a lot of time trying
to merge I/Os -- rightfully so under "normal" circumstances. However,
if one were to know that the incoming I/O stream was /very/ random in
nature, the cycles are wasted.

This patch adds a per-request_queue tunable that (when set) disables
merge attempts (beyond the simple one-hit cache check), thus freeing up
a non-trivial amount of CPU cycles.

Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/blk-sysfs.c
block/elevator.c
include/linux/blkdev.h