From: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> CFQ may preempt the queue currently in service if a new request, for a different queue, happens to be close to the last-dispatched request. This boosts the throughput with processes that issue close requests, but whose I/O patterns are not regularly interleaved enough to trigger the activation of the queue-merging heuristic removed in the previous commit. BFQ does not need to perform any such preemption, because the queue-merging mechanism of BFQ (EQM) is reactive enough to merge queues also in the presence of irregularly interleaved I/O. Signed-off-by: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Paolo Valente <paolo.valente@xxxxxxxxxx> --- block/cfq-iosched.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 72def9c..3084f99 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -2665,12 +2665,6 @@ static inline sector_t cfq_dist_from_last(struct cfq_data *cfqd, return cfqd->last_position - blk_rq_pos(rq); } -static inline int cfq_rq_close(struct cfq_data *cfqd, struct cfq_queue *cfqq, - struct request *rq) -{ - return cfq_dist_from_last(cfqd, rq) <= CFQQ_CLOSE_THR; -} - /* * Determine whether we should enforce idle window for this queue. */ @@ -3701,13 +3695,6 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq, if (!cfqd->active_cic || !cfq_cfqq_wait_request(cfqq)) return false; - /* - * if this request is as-good as one we would expect from the - * current cfqq, let it preempt - */ - if (cfq_rq_close(cfqd, cfqq, rq)) - return true; - return false; } -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html