From 44617b21a0155ad45a24b8a9b213185220bd1c88 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 1 Jun 2006 10:07:26 +0200 Subject: [PATCH] --- yaml --- r: 27072 b: refs/heads/master c: e0de0206a2a37cd3e0ba9954d9f863e11d6d1782 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/block/cfq-iosched.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5d57efe27c8c..83fbea88a12a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba8f5baba79da8eb502f8534c3a8ecb64aceb790 +refs/heads/master: e0de0206a2a37cd3e0ba9954d9f863e11d6d1782 diff --git a/trunk/block/cfq-iosched.c b/trunk/block/cfq-iosched.c index 11ce6aaf1bd0..d582433441c5 100644 --- a/trunk/block/cfq-iosched.c +++ b/trunk/block/cfq-iosched.c @@ -878,6 +878,13 @@ static struct cfq_queue *cfq_set_active_queue(struct cfq_data *cfqd) if (!list_empty(&cfqd->cur_rr) || cfq_get_next_prio_level(cfqd) != -1) cfqq = list_entry_cfqq(cfqd->cur_rr.next); + /* + * If no new queues are available, check if the busy list has some + * before falling back to idle io. + */ + if (!cfqq && !list_empty(&cfqd->busy_rr)) + cfqq = list_entry_cfqq(cfqd->busy_rr.next); + /* * if we have idle queues and no rt or be queues had pending * requests, either allow immediate service if the grace period