linux-kernel-test/block
Vivek Goyal 65b32a573e cfq-iosched: Remove prio_change logic for workload selection
o CFQ now internally divides cfq queues in therr workload categories. sync-idle,
  sync-noidle and async. Which workload to run depends primarily on rb_key
  offset across three service trees. Which is a combination of mulitiple things
  including what time queue got queued on the service tree.

  There is one exception though. That is if we switched the prio class, say
  we served some RT tasks and again started serving BE class, then with-in
  BE class we always started with sync-noidle workload irrespective of rb_key
  offset in service trees.

  This can provide better latencies for sync-noidle workload in the presence
  of RT tasks.

o This patch gets rid of that exception and which workload to run with-in
  class always depends on lowest rb_key across service trees. The reason
  being that now we have multiple BE class groups and if we always switch
  to sync-noidle workload with-in group, we can potentially starve a sync-idle
  workload with-in group. Same is true for async workload which will be in
  root group. Also the workload-switching with-in group will become very
  unpredictable as it now depends whether some RT workload was running in
  the system or not.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Acked-by: Corrado Zoccolo <czoccolo@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-18 12:40:21 +01:00
..
blk-barrier.c block: allow large discard requests 2009-10-01 21:19:34 +02:00
blk-cgroup.c block: include linux/err.h to use ERR_PTR 2009-12-07 09:47:07 +01:00
blk-cgroup.h blkio: Implement dynamic io controlling policy registration 2009-12-04 16:38:14 +01:00
blk-core.c block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
blk-exec.c block: don't set REQ_NOMERGE unnecessarily 2009-04-28 07:37:33 +02:00
blk-integrity.c block: fix improper kobject release in blk_integrity_unregister 2009-07-28 09:11:14 +02:00
blk-ioc.c block: Fix io_context leak after failure of clone with CLONE_IO 2009-12-04 16:36:18 +01:00
blk-iopoll.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
blk-map.c block: Use accessor functions for queue limits 2009-05-22 23:22:54 +02:00
blk-merge.c block: Seperate read and write statistics of in_flight requests v2 2009-10-06 20:16:55 +02:00
blk-settings.c block: temporarily disable discard granularity 2009-12-16 09:16:41 +01:00
blk-softirq.c generic-ipi: remove CSD_FLAG_WAIT 2009-02-25 14:13:44 +01:00
blk-sysfs.c block: Allow devices to indicate whether discarded blocks are zeroed 2009-12-03 09:24:48 +01:00
blk-tag.c block: use proper BLK_RW_ASYNC in blk_queue_start_tag() 2009-10-06 20:19:02 +02:00
blk-timeout.c block: clean up misc stuff after block layer timeout conversion 2009-04-28 07:37:34 +02:00
blk.h block: implement mixed merge of different failfast requests 2009-09-11 14:33:30 +02:00
bsg.c block: jiffies fixes 2009-11-11 13:47:45 +01:00
cfq-iosched.c cfq-iosched: Remove prio_change logic for workload selection 2009-12-18 12:40:21 +01:00
compat_ioctl.c block: Allow devices to indicate whether discarded blocks are zeroed 2009-12-03 09:24:48 +01:00
deadline-iosched.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
elevator.c Merge branch 'for-linus' into for-2.6.33 2009-10-13 12:29:45 +02:00
genhd.c block: Expose discard granularity 2009-11-10 11:50:21 +01:00
ioctl.c block: Allow devices to indicate whether discarded blocks are zeroed 2009-12-03 09:24:48 +01:00
Kconfig blkio: Some debugging aids for CFQ 2009-12-03 19:28:52 +01:00
Kconfig.iosched blkio: Allow CFQ group IO scheduling even when CFQ is a module 2009-12-04 16:38:14 +01:00
Makefile blkio: Introduce blkio controller cgroup interface 2009-12-03 19:28:51 +01:00
noop-iosched.c block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
scsi_ioctl.c block/scsi_ioctl.c: quiet sparse noise 2009-11-04 09:10:33 +01:00