Set plug->rq_count 0 earlier can skip possible sort. Move the 0-value set after sort. Signed-off-by: Shenghui Wang <shhuiw@xxxxxxxxxxx> --- block/blk-mq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index f3b0d33bdf88..e5d32f186e81 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1711,10 +1711,10 @@ void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule) unsigned int depth; list_splice_init(&plug->mq_list, &list); - plug->rq_count = 0; if (plug->rq_count > 2 && plug->multiple_queues) list_sort(NULL, &list, plug_rq_cmp); + plug->rq_count = 0; this_q = NULL; this_hctx = NULL; -- 2.20.1