Merge branch 'for-linus' of git://neil.brown.name/md
[sfrench/cifs-2.6.git] / block / cfq-iosched.c
index 664ebfd092ec21f95cedc56b6a5259874db0399c..9e809345f71abd718cecc27f6fd4ea068ed4775c 100644 (file)
@@ -1992,8 +1992,10 @@ static void cfq_completed_request(struct request_queue *q, struct request *rq)
                }
                if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq))
                        cfq_slice_expired(cfqd, 1);
-               else if (sync && RB_EMPTY_ROOT(&cfqq->sort_list))
+               else if (sync && !rq_noidle(rq) &&
+                        RB_EMPTY_ROOT(&cfqq->sort_list)) {
                        cfq_arm_slice_timer(cfqd);
+               }
        }
 
        if (!cfqd->rq_in_driver)