From: David Wei <dw@davidwei.uk>
To: io-uring@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>
Subject: [PATCH liburing v2 0/4] add basic zero copy receive support
Date: Tue, 18 Feb 2025 14:01:32 -0800 [thread overview]
Message-ID: <20250218220136.2238838-1-dw@davidwei.uk> (raw)
Add basic support for io_uring zero copy receive in liburing. Besides
the mandatory syncing of necessary liburing.h headers, add a thin
wrapper around the registration op and a unit test.
Users still need to setup by hand e.g. mmap, setup the registration
structs, do the registration and then setup the refill queue struct
io_uring_zcrx_rq.
In the future, I'll add code to hide the implementation details. But for
now, this unblocks the kernel selftest.
Changes in v2:
--------------
* Split out linux/io_uring.h header sync changes
* Move exporting io_uring_register_ifq() to LIBURING_2.10 section
David Wei (4):
liburing: sync io_uring headers
zcrx: sync io_uring headers
zcrx: add basic support
zcrx: add unit test
src/include/liburing.h | 12 +
src/include/liburing/io_uring.h | 62 ++-
src/liburing-ffi.map | 2 +
src/liburing.map | 2 +
src/register.c | 6 +
test/Makefile | 1 +
test/zcrx.c | 918 ++++++++++++++++++++++++++++++++
7 files changed, 1001 insertions(+), 2 deletions(-)
create mode 100644 test/zcrx.c
--
2.43.5
next reply other threads:[~2025-02-18 22:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-18 22:01 David Wei [this message]
2025-02-18 22:01 ` [PATCH liburing v2 1/4] liburing: sync io_uring headers David Wei
2025-02-18 22:01 ` [PATCH liburing v2 2/4] zcrx: " David Wei
2025-02-18 22:01 ` [PATCH liburing v2 3/4] zcrx: add basic support David Wei
2025-02-18 22:01 ` [PATCH liburing v2 4/4] zcrx: add unit test David Wei
2025-02-18 23:31 ` [PATCH liburing v2 0/4] add basic zero copy receive support Jens Axboe
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=20250218220136.2238838-1-dw@davidwei.uk \
--to=dw@davidwei.uk \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox