OpenCloudOS-Kernel/block
Jens Axboe aeb6fafb8f block: Add flag for telling the IO schedulers NOT to anticipate more IO
By default, CFQ will anticipate more IO from a given io context if the
previously completed IO was sync. This used to be fine, since the only
sync IO was reads and O_DIRECT writes. But with more "normal" sync writes
being used now, we don't want to anticipate for those.

Add a bio/request flag that informs the IO scheduler that this is a sync
request that we should not idle for. Introduce WRITE_ODIRECT specifically
for O_DIRECT writes, and make sure that the other sync writes set this
flag.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-06 08:04:54 -07: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
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: Add flag for telling the IO schedulers NOT to anticipate more IO 2009-04-06 08:04:54 -07: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: WARN in __blk_put_request() for potential bio leak 2009-03-26 11:01:23 +01: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: change the request allocation/congestion logic to be sync/async based 2009-04-06 08:04:53 -07: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 cpumask: use topology_core_cpumask/topology_thread_cpumask instead of cpu_core_map/cpu_sibling_map 2009-03-13 14:49:46 +10:30
bsg.c bsg: Remove bogus check against request_queue->max_sectors 2009-03-26 11:01:25 +01:00
cfq-iosched.c block: Add flag for telling the IO schedulers NOT to anticipate more IO 2009-04-06 08:04:54 -07: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: change the request allocation/congestion logic to be sync/async based 2009-04-06 08:04:53 -07: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
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