From: Jens Axboe Date: Mon, 20 Oct 2008 13:44:28 +0000 (+0200) Subject: cfq-iosched: remove limit of dispatch depth of max 4 times quantum X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec;p=openwrt%2Fstaging%2Fblogic.git 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 --- diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index adaf93a9d19d..ee8a90c7c46c 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;