aboutsummaryrefslogtreecommitdiffstats
path: root/block/cfq-iosched.c
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-04-20 14:45:39 -0400
committerJens Axboe <axboe@nelson.home.kernel.dk>2007-04-30 03:01:23 -0400
commitcc19747977824ece6aa1c56a29e974fef5ec2b32 (patch)
treebbb07231a1323ddd007a11eb2683188492d2e26e /block/cfq-iosched.c
parent3ed9a2965c47636bc0ebafab31a39f1c105492ca (diff)
cfq-iosched: tighten queue request overlap condition
For tagged devices, allow overlap of requests if the idle window isn't enabled on the current active queue. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r--block/cfq-iosched.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index a8237be97a28..e859b4966e4c 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -989,7 +989,8 @@ static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd)
989 * flight or is idling for a new request, allow either of these 989 * flight or is idling for a new request, allow either of these
990 * conditions to happen (or time out) before selecting a new queue. 990 * conditions to happen (or time out) before selecting a new queue.
991 */ 991 */
992 if (cfqq->dispatched || timer_pending(&cfqd->idle_slice_timer)) { 992 if (timer_pending(&cfqd->idle_slice_timer) ||
993 (cfqq->dispatched && cfq_cfqq_idle_window(cfqq))) {
993 cfqq = NULL; 994 cfqq = NULL;
994 goto keep_queue; 995 goto keep_queue;
995 } 996 }