diff options
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r-- | block/cfq-iosched.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 664ebfd092ec..9e809345f71a 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -1992,8 +1992,10 @@ static void cfq_completed_request(struct request_queue *q, struct request *rq) | |||
1992 | } | 1992 | } |
1993 | if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq)) | 1993 | if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq)) |
1994 | cfq_slice_expired(cfqd, 1); | 1994 | cfq_slice_expired(cfqd, 1); |
1995 | else if (sync && RB_EMPTY_ROOT(&cfqq->sort_list)) | 1995 | else if (sync && !rq_noidle(rq) && |
1996 | RB_EMPTY_ROOT(&cfqq->sort_list)) { | ||
1996 | cfq_arm_slice_timer(cfqd); | 1997 | cfq_arm_slice_timer(cfqd); |
1998 | } | ||
1997 | } | 1999 | } |
1998 | 2000 | ||
1999 | if (!cfqd->rq_in_driver) | 2001 | if (!cfqd->rq_in_driver) |