提交 30e0dc28 编写于 作者: J Jens Axboe

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: NJens Axboe <jens.axboe@oracle.com>
上级 31dcfab0
...@@ -1136,12 +1136,8 @@ static int cfq_dispatch_requests(struct request_queue *q, int force) ...@@ -1136,12 +1136,8 @@ static int cfq_dispatch_requests(struct request_queue *q, int force)
if (cfq_class_idle(cfqq)) if (cfq_class_idle(cfqq))
max_dispatch = 1; max_dispatch = 1;
if (cfqq->dispatched >= max_dispatch) { if (cfqq->dispatched >= max_dispatch && cfqd->busy_queues > 1)
if (cfqd->busy_queues > 1) break;
break;
if (cfqq->dispatched >= 4 * max_dispatch)
break;
}
if (cfqd->sync_flight && !cfq_cfqq_sync(cfqq)) if (cfqd->sync_flight && !cfq_cfqq_sync(cfqq))
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册