diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2007-04-20 14:45:39 -0400 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2007-04-30 03:01:23 -0400 |
commit | cc19747977824ece6aa1c56a29e974fef5ec2b32 (patch) | |
tree | bbb07231a1323ddd007a11eb2683188492d2e26e /block/cfq-iosched.c | |
parent | 3ed9a2965c47636bc0ebafab31a39f1c105492ca (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.c | 3 |
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 | } |