linux-stable-rt/block
Jens Axboe a36e71f996 cfq-iosched: add close cooperator code
If we have processes that are working in close proximity to each
other on disk, we don't want to idle wait. Instead allow the close
process to issue a request, getting better aggregate bandwidth.
The anticipatory scheduler has similar checks, noop and deadline do
not need it since they don't care about process <-> io mappings.

The code for CFQ is a little more involved though, since we split
request queues into per-process contexts.

This fixes a performance problem with eg dump(8), since it uses
several processes in some silly attempt to speed IO up. Even if
dump(8) isn't really a valid case (it should be fixed by using
CLONE_IO), there are other cases where we see close processes
and where idling ends up hurting performance.

Credit goes to Jeff Moyer <jmoyer@redhat.com> for writing the
initial implementation.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-04-15 12:15:11 +02:00
..
Kconfig
Kconfig.iosched
Makefile
as-iosched.c as-iosched: get rid of private REQ_SYNC/REQ_ASYNC defines 2009-04-15 08:28:10 +02:00
blk-barrier.c block: Remove code handling bio_alloc failure with __GFP_WAIT 2009-04-15 12:10:12 +02:00
blk-core.c Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-07 14:10:10 -07:00
blk-exec.c
blk-integrity.c
blk-ioc.c
blk-map.c
blk-merge.c block: fix inconsistency in I/O stat accounting code 2009-04-07 08:12:38 +02:00
blk-settings.c pata_artop: typo 2009-04-06 20:00:29 -04:00
blk-softirq.c
blk-sysfs.c block: fix bad spelling of quiesce 2009-04-15 08:28:09 +02:00
blk-tag.c
blk-timeout.c
blk.h block: fix bad spelling of quiesce 2009-04-15 08:28:09 +02:00
bsg.c bsg: Remove bogus check against request_queue->max_sectors 2009-03-26 11:01:25 +01:00
cfq-iosched.c cfq-iosched: add close cooperator code 2009-04-15 12:15:11 +02:00
cmd-filter.c [SCSI] Make scsi.h independent of the rest of the scsi includes 2009-03-12 12:58:13 -05:00
compat_ioctl.c
deadline-iosched.c
elevator.c block: fix bad spelling of quiesce 2009-04-15 08:28:09 +02:00
genhd.c
ioctl.c block: Remove code handling bio_alloc failure with __GFP_WAIT 2009-04-15 12:10:12 +02:00
noop-iosched.c
scsi_ioctl.c block: fix SG_IO to return a proper error value 2009-04-15 12:10:11 +02:00