On 10/6/21 11:55 AM, Bart Van Assche wrote: > On 10/6/21 9:35 AM, Jens Axboe wrote: >> Particularly for NVMe with efficient deferred submission for many >> requests, there are nice benefits to be seen by bumping the default max >> plug count from 16 to 32. This is especially true for virtualized setups, >> where the submit part is more expensive. But can be noticed even on >> native hardware. >> >> Reduce the multiple queue factor from 4 to 2, since we're changing the >> default size. >> >> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> >> --- >> block/blk-mq.c | 4 ++-- >> include/linux/blkdev.h | 2 +- >> 2 files changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/block/blk-mq.c b/block/blk-mq.c >> index a40c94505680..5327abbefbab 100644 >> --- a/block/blk-mq.c >> +++ b/block/blk-mq.c >> @@ -2145,14 +2145,14 @@ static void blk_add_rq_to_plug(struct blk_plug *plug, struct request *rq) >> } >> >> /* >> - * Allow 4x BLK_MAX_REQUEST_COUNT requests on plug queue for multiple >> + * Allow 2x BLK_MAX_REQUEST_COUNT requests on plug queue for multiple >> * queues. This is important for md arrays to benefit from merging >> * requests. >> */ >> static inline unsigned short blk_plug_max_rq_count(struct blk_plug *plug) >> { >> if (plug->multiple_queues) >> - return BLK_MAX_REQUEST_COUNT * 4; >> + return BLK_MAX_REQUEST_COUNT * 2; >> return BLK_MAX_REQUEST_COUNT; >> } >> >> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h >> index b19172db7eef..534298ac73cc 100644 >> --- a/include/linux/blkdev.h >> +++ b/include/linux/blkdev.h >> @@ -727,7 +727,7 @@ struct blk_plug { >> bool multiple_queues; >> bool nowait; >> }; >> -#define BLK_MAX_REQUEST_COUNT 16 >> +#define BLK_MAX_REQUEST_COUNT 32 >> #define BLK_PLUG_FLUSH_SIZE (128 * 1024) >> >> struct blk_plug_cb; > > Since BLK_MAX_REQUEST_COUNT is only used inside the block layer core but > not by any block driver, can it be moved from include/linux/blkdev.h > into block/blk-mq.h? Good point, I'll move it in there as part of the patch. -- Jens Axboe