blk-mq: only flush requests from the plug in blk_mq_submit_bio
authorChristoph Hellwig <hch@lst.de>
Wed, 20 Oct 2021 14:41:16 +0000 (16:41 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 20 Oct 2021 15:56:11 +0000 (09:56 -0600)
Replace the call to blk_flush_plug_list in blk_mq_submit_bio with a
direct call to blk_mq_flush_plug_list.  This means we do not flush
plug callback from stackable devices, which doesn't really help with
the accumulated requests anyway, and it also means the cached requests
aren't freed here as they can still be used later on.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20211020144119.142582-2-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c

index a71aeed7b987012d8b54d0fa6cc557abe2ce26b2..101466ece4c4f56607a841c8dbd18913bc3063ad 100644 (file)
@@ -2568,7 +2568,7 @@ void blk_mq_submit_bio(struct bio *bio)
                }
 
                if (request_count >= blk_plug_max_rq_count(plug) || last) {
-                       blk_flush_plug_list(plug, false);
+                       blk_mq_flush_plug_list(plug, false);
                        trace_block_plug(q);
                }