aboutsummaryrefslogtreecommitdiffstats
path: root/block/cfq-iosched.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r--block/cfq-iosched.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 11ce6aaf1bd0..d582433441c5 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -879,6 +879,13 @@ static struct cfq_queue *cfq_set_active_queue(struct cfq_data *cfqd)
879 cfqq = list_entry_cfqq(cfqd->cur_rr.next); 879 cfqq = list_entry_cfqq(cfqd->cur_rr.next);
880 880
881 /* 881 /*
882 * If no new queues are available, check if the busy list has some
883 * before falling back to idle io.
884 */
885 if (!cfqq && !list_empty(&cfqd->busy_rr))
886 cfqq = list_entry_cfqq(cfqd->busy_rr.next);
887
888 /*
882 * if we have idle queues and no rt or be queues had pending 889 * if we have idle queues and no rt or be queues had pending
883 * requests, either allow immediate service if the grace period 890 * requests, either allow immediate service if the grace period
884 * has passed or arm the idle grace timer 891 * has passed or arm the idle grace timer