aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--block/cfq-iosched.c19
1 files changed, 1 insertions, 18 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index ca4d19907243..f90519430be6 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -3523,25 +3523,8 @@ static void cfq_completed_request(struct request_queue *q, struct request *rq)
3523 } 3523 }
3524 } 3524 }
3525 3525
3526 if (!cfqd->rq_in_driver) { 3526 if (!cfqd->rq_in_driver)
3527 cfq_schedule_dispatch(cfqd); 3527 cfq_schedule_dispatch(cfqd);
3528 return;
3529 }
3530 /*
3531 * A queue is idle at cfq_dispatch_requests(), but it gets noidle
3532 * later. We schedule a dispatch if the queue has no requests,
3533 * otherwise the disk is actually in idle till all requests
3534 * are finished even cfq_arm_slice_timer doesn't make the queue idle
3535 * */
3536 cfqq = cfqd->active_queue;
3537 if (!cfqq)
3538 return;
3539
3540 if (RB_EMPTY_ROOT(&cfqq->sort_list) && !cfq_should_idle(cfqd, cfqq) &&
3541 (!cfqd->cfq_group_idle || cfqq->cfqg->nr_cfqq > 1)) {
3542 cfq_del_timer(cfqd, cfqq);
3543 cfq_schedule_dispatch(cfqd);
3544 }
3545} 3528}
3546 3529
3547/* 3530/*