2022-01-20 00:26:35

by zhenggy

[permalink] [raw]
Subject: [PATCH] aio: inform block layer of how many requests we are submitting

After commit 47c122e35d7e ("block: pre-allocate requests if plug is
started and is a batch"), block layer can make smarter request allocation
if it know how many requests it need to submit, so switch to use
blk_start_plug_nr_ios here to pass the number of requests we will submit.

Signed-off-by: GuoYong Zheng <[email protected]>
---
fs/aio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/aio.c b/fs/aio.c
index 4ceba13..7c4935e 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -2071,7 +2071,7 @@ static int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
nr = ctx->nr_events;

if (nr > AIO_PLUG_THRESHOLD)
- blk_start_plug(&plug);
+ blk_start_plug_nr_ios(&plug, nr);
for (i = 0; i < nr; i++) {
struct iocb __user *user_iocb;

--
1.8.3.1


2022-01-21 21:12:10

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] aio: inform block layer of how many requests we are submitting

On Tue, Jan 18, 2022 at 05:17:44PM +0800, GuoYong Zheng wrote:
> After commit 47c122e35d7e ("block: pre-allocate requests if plug is
> started and is a batch"), block layer can make smarter request allocation
> if it know how many requests it need to submit, so switch to use
> blk_start_plug_nr_ios here to pass the number of requests we will submit.

Looks good:

Reviewed-by: Christoph Hellwig <[email protected]>