summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-10-20 13:44:28 (GMT)
committerJens Axboe <jens.axboe@oracle.com>2008-12-29 07:29:51 (GMT)
commit30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec (patch)
treecb72eba9e27bf893928189c832d29e97bbe132ad
parent31dcfab0ae6eb0340d456931df4d478e17efc65d (diff)
downloadlinux-30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec.tar.xz
cfq-iosched: remove limit of dispatch depth of max 4 times quantum
This basically limits the hardware queue depth to 4*quantum at any point in time, which is 16 with the default settings. As CFQ uses other means to shrink the hardware queue when necessary in the first place, there's really no need for this extra heuristic. Additionally, it ends up hurting performance in some cases. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--block/cfq-iosched.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index adaf93a..ee8a90c 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1136,12 +1136,8 @@ static int cfq_dispatch_requests(struct request_queue *q, int force)
if (cfq_class_idle(cfqq))
max_dispatch = 1;
- if (cfqq->dispatched >= max_dispatch) {
- if (cfqd->busy_queues > 1)
- break;
- if (cfqq->dispatched >= 4 * max_dispatch)
- break;
- }
+ if (cfqq->dispatched >= max_dispatch && cfqd->busy_queues > 1)
+ break;
if (cfqd->sync_flight && !cfq_cfqq_sync(cfqq))
break;