remarkable-linux/block
Jens Axboe 2f5cb7381b cfq-iosched: change dispatch logic to deal with single requests at the time
The IO scheduler core calls into the IO scheduler dispatch_request hook
to move requests from the IO scheduler and into the driver dispatch
list. It only does so when the dispatch list is empty. CFQ moves several
requests to the dispatch list, which can cause higher latencies if we
suddenly have to switch to some important sync IO. Change the logic to
move one request at the time instead.

This should almost be functionally equivalent to what we did before,
except that we now honor 'quantum' as the maximum queue depth at the
device side from any single cfqq. If there's just a single active
cfqq, we allow up to 4 times the normal quantum.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-04-07 08:51:19 +02:00
..
as-iosched.c block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
blk-barrier.c block: Fix documentation for blkdev_issue_flush() 2009-01-30 12:34:37 +01:00
blk-core.c block: fix inconsistency in I/O stat accounting code 2009-04-07 08:12:38 +02:00
blk-exec.c Add some block/ source files to the kernel-api docbook. Fix kernel-doc notation in them as needed. Fix changed function parameter names. Fix typos/spellos. In comments, change REQ_SPECIAL to REQ_TYPE_SPECIAL and REQ_BLOCK_PC to REQ_TYPE_BLOCK_PC. 2008-10-09 08:56:03 +02:00
blk-integrity.c block: Allow empty integrity profile 2009-01-30 12:34:36 +01:00
blk-ioc.c cfq-iosched: fix RCU race in the cfq io_context destructor handling 2008-05-07 09:28:57 +02:00
blk-map.c [SCSI] block: make blk_rq_map_user take a NULL user-space buffer for WRITE 2009-01-02 11:10:35 -06:00
blk-merge.c block: fix inconsistency in I/O stat accounting code 2009-04-07 08:12:38 +02:00
blk-settings.c block: use min_not_zero in blk_queue_stack_limits 2008-12-29 08:29:51 +01:00
blk-softirq.c generic-ipi: remove CSD_FLAG_WAIT 2009-02-25 14:13:44 +01:00
blk-sysfs.c block: fix inconsistency in I/O stat accounting code 2009-04-07 08:12:38 +02:00
blk-tag.c block/blk-tag.c: cleanup kernel-doc 2008-12-29 08:28:43 +01:00
blk-timeout.c block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list 2009-02-18 10:34:16 +01:00
blk.h block: fix inconsistency in I/O stat accounting code 2009-04-07 08:12:38 +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: change dispatch logic to deal with single requests at the time 2009-04-07 08:51:19 +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 block: don't take lock on changing ra_pages 2008-12-29 08:28:43 +01:00
deadline-iosched.c block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
elevator.c block: fix inconsistency in I/O stat accounting code 2009-04-07 08:12:38 +02:00
genhd.c block: add documentation for register_blkdev() 2009-02-26 10:45:48 +01:00
ioctl.c block: don't take lock on changing ra_pages 2008-12-29 08:28:43 +01:00
Kconfig tracing/blktrace: move the tracing file to kernel/trace 2009-02-09 10:51:02 +01:00
Kconfig.iosched update I/O sched Kconfig help texts - CFQ is now default, not AS. 2007-02-17 20:08:22 +01:00
Makefile tracing/blktrace: move the tracing file to kernel/trace 2009-02-09 10:51:02 +01:00
noop-iosched.c block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
scsi_ioctl.c block: WARN in __blk_put_request() for potential bio leak 2009-03-26 11:01:23 +01:00