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 a71aeed..101466e 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);
                }