From: Jens Axboe <axboe@kernel.dk>
To: Ming Lei <ming.lei@redhat.com>,
io-uring@vger.kernel.org, Pavel Begunkov <asml.silence@gmail.com>
Cc: linux-block@vger.kernel.org,
Uday Shankar <ushankar@purestorage.com>,
Akilesh Kailash <akailash@google.com>
Subject: Re: [PATCH V9 3/7] io_uring: shrink io_mapped_buf
Date: Wed, 6 Nov 2024 08:09:38 -0700 [thread overview]
Message-ID: <44abdb96-3210-45d2-b673-ec2eb309bac2@kernel.dk> (raw)
In-Reply-To: <20241106122659.730712-4-ming.lei@redhat.com>
On 11/6/24 5:26 AM, Ming Lei wrote:
> `struct io_mapped_buf` will be extended to cover kernel buffer which
> may be in fast IO path, and `struct io_mapped_buf` needs to be per-IO.
>
> So shrink sizeof(struct io_mapped_buf) by the following ways:
>
> - folio_shift is < 64, so 6bits are enough to hold it, the remained bits
> can be used for the coming kernel buffer
>
> - define `acct_pages` as 'unsigned int', which is big enough for
> accounting pages in the buffer
>
> Signed-off-by: Ming Lei <ming.lei@redhat.com>
> ---
> io_uring/rsrc.c | 2 ++
> io_uring/rsrc.h | 6 +++---
> 2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c
> index 9b8827c72230..16f5abe03d10 100644
> --- a/io_uring/rsrc.c
> +++ b/io_uring/rsrc.c
> @@ -685,6 +685,8 @@ static bool io_try_coalesce_buffer(struct page ***pages, int *nr_pages,
> return false;
>
> data->folio_shift = folio_shift(folio);
> + WARN_ON_ONCE(data->folio_shift >= 64);
Since folio_shift is 6 bits, how can that be try?
I think you'd want:
WARN_ON_ONCE(folio_shift(folio) >= 64);
instead.
And agree that acct_pages doesn't need to be an unsigned long.
--
Jens Axboe
next prev parent reply other threads:[~2024-11-06 15:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-06 12:26 [PATCH V9 0/7] io_uring: support group buffer & ublk zc Ming Lei
2024-11-06 12:26 ` [PATCH V9 1/7] io_uring: rename io_mapped_ubuf as io_mapped_buf Ming Lei
2024-11-06 12:26 ` [PATCH V9 2/7] io_uring: rename ubuf of io_mapped_buf as start Ming Lei
2024-11-06 15:07 ` Jens Axboe
2024-11-06 12:26 ` [PATCH V9 3/7] io_uring: shrink io_mapped_buf Ming Lei
2024-11-06 15:09 ` Jens Axboe [this message]
2024-11-07 1:04 ` Ming Lei
2024-11-07 2:13 ` Jens Axboe
2024-11-06 12:26 ` [PATCH V9 4/7] io_uring: reuse io_mapped_buf for kernel buffer Ming Lei
2024-11-06 15:15 ` Jens Axboe
2024-11-07 1:22 ` Ming Lei
2024-11-07 2:16 ` Jens Axboe
2024-11-06 12:26 ` [PATCH V9 5/7] io_uring: support leased group buffer with REQ_F_GROUP_BUF Ming Lei
2024-11-06 15:17 ` Jens Axboe
2024-11-06 12:26 ` [PATCH V9 6/7] io_uring/uring_cmd: support leasing device kernel buffer to io_uring Ming Lei
2024-11-06 12:26 ` [PATCH V9 7/7] ublk: support leasing io " Ming Lei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44abdb96-3210-45d2-b673-ec2eb309bac2@kernel.dk \
--to=axboe@kernel.dk \
--cc=akailash@google.com \
--cc=asml.silence@gmail.com \
--cc=io-uring@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=ming.lei@redhat.com \
--cc=ushankar@purestorage.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.