From: Ming Lei <ming.lei@redhat.com>
To: Caleb Sander Mateos <csander@purestorage.com>
Cc: Jens Axboe <axboe@kernel.dk>,
Uday Shankar <ushankar@purestorage.com>,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 8/8] ublk: store request pointer in ublk_io
Date: Sun, 27 Apr 2025 21:25:24 +0800 [thread overview]
Message-ID: <aA4wROulY-gMJFqS@fedora> (raw)
In-Reply-To: <20250427045803.772972-9-csander@purestorage.com>
On Sat, Apr 26, 2025 at 10:58:03PM -0600, Caleb Sander Mateos wrote:
> A ublk_io is converted to a request in several places in the I/O path by
> looking up the (qid, tag) on the ublk device's tagset. This involves a
> bunch of pointer dereferences and a bounds check of the tag.
>
> To make this conversion cheaper, store the request pointer in ublk_io.
> Overlap this storage with the io_uring_cmd pointer. This is safe because
> the io_uring_cmd pointer is only valid if UBLK_IO_FLAG_ACTIVE is set on
> the ublk_io, the request pointer is valid if UBLK_IO_FLAG_OWNED_BY_SRV,
> and these flags are mutually exclusive.
Yeah, it becomes exclusive after UBLK_IO_NEED_GET_DATA is cleaned as one
sync command.
>
> Suggested-by: Ming Lei <ming.lei@redhat.com>
> Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
thanks,
Ming
prev parent reply other threads:[~2025-04-27 13:25 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-27 4:57 [PATCH 0/8] ublk: simplify NEED_GET_DATA handling and request lookup Caleb Sander Mateos
2025-04-27 4:57 ` [PATCH 1/8] ublk: factor out ublk_commit_and_fetch Caleb Sander Mateos
2025-04-27 4:57 ` [PATCH 2/8] ublk: fix "immepdately" typo in comment Caleb Sander Mateos
2025-04-27 12:58 ` Ming Lei
2025-04-27 4:57 ` [PATCH 3/8] ublk: remove misleading "ubq" in "ubq_complete_io_cmd()" Caleb Sander Mateos
2025-04-27 13:01 ` Ming Lei
2025-04-27 4:57 ` [PATCH 4/8] ublk: don't log uring_cmd cmd_op in ublk_dispatch_req() Caleb Sander Mateos
2025-04-27 13:03 ` Ming Lei
2025-04-27 4:58 ` [PATCH 5/8] ublk: factor out ublk_start_io() helper Caleb Sander Mateos
2025-04-27 13:05 ` Ming Lei
2025-04-28 14:28 ` Caleb Sander Mateos
2025-04-28 15:12 ` Caleb Sander Mateos
2025-04-29 4:05 ` Ming Lei
2025-04-29 14:55 ` Caleb Sander Mateos
2025-04-30 22:44 ` Caleb Sander Mateos
2025-04-27 4:58 ` [PATCH 6/8] ublk: don't call ublk_dispatch_req() for NEED_GET_DATA Caleb Sander Mateos
2025-04-27 13:10 ` Ming Lei
2025-04-27 4:58 ` [PATCH 7/8] ublk: check UBLK_IO_FLAG_OWNED_BY_SRV in ublk_abort_queue() Caleb Sander Mateos
2025-04-27 13:13 ` Ming Lei
2025-04-27 4:58 ` [PATCH 8/8] ublk: store request pointer in ublk_io Caleb Sander Mateos
2025-04-27 13:25 ` Ming Lei [this message]
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=aA4wROulY-gMJFqS@fedora \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=csander@purestorage.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--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.