From: Stefan Roesch <shr@devkernel.io>
To: io-uring@vger.kernel.org, kernel-team@fb.com
Cc: shr@devkernel.io, axboe@kernel.dk, ammarfaizi2@gnuweeb.org
Subject: [PATCH v9 0/4] liburing: add api for napi busy poll
Date: Tue, 25 Apr 2023 11:20:50 -0700 [thread overview]
Message-ID: <20230425182054.2826621-1-shr@devkernel.io> (raw)
This adds two new api's to set/clear the napi busy poll settings. The two
new functions are called:
- io_uring_register_napi
- io_uring_unregister_napi
The patch series also contains the documentation for the two new functions
and two example programs. The client program is called napi-busy-poll-client
and the server program napi-busy-poll-server. The client measures the
roundtrip times of requests.
There is also a kernel patch "io-uring: support napi busy poll" to enable
this feature on the kernel side.
Changes:
- V9:
- Update to library V2.4 and kernel 6.4
- V8:
- Use tab in liburing-ffi.map file
- Small fix to io_uring_register_napi man page
- V7:
- Add new functions to liburing-ffi.map file.
- Fix some whitespace issues.
- Address the compile errors from CI in the two files
napi-busy-poll-client.c and napi-busy-poll-server.c
- V6:
- Check return value of unregister napi call and verify that busy poll
timeout and prefer busy poll return the expected values.
- V5:
- Fixes to documentation.
- Correct opcode for unregister call
- Initialize napi structure in example programs
- Address tab issues in recordRTT()
- V4:
- Modify functions to use a structure to pass the napi busy poll settings
to the kernel.
- Return previous values when returning from the above functions.
- Rename the functions and remove one function (no longer needed as the
data is passed as a structure)
- V3:
- Updated liburing.map file
- Moved example programs from the test directory to the example directory.
The two example programs don't fit well in the test category and need to
be run from separate hosts.
- Added the io_uring_register_napi_prefer_busy_poll API.
- Added the call to io_uring_register_napi_prefer_busy_poll to the example
programs
- Updated the documentation
- V2:
- Updated the liburing.map file for the two new functions.
(added a 2.4 section)
- Added a description of the new feature to the changelog file
- Fixed the indentation of the longopts structure
- Used defined exit constants
- Fixed encodeUserData to support 32 bit builds
*** BLURB HERE ***
Stefan Roesch (4):
liburing: add api to set napi busy poll settings
liburing: add documentation for new napi busy polling
liburing: add example programs for napi busy poll
liburing: update changelog with new feature
.gitignore | 2 +
CHANGELOG | 1 +
examples/Makefile | 2 +
examples/napi-busy-poll-client.c | 451 +++++++++++++++++++++++++++++++
examples/napi-busy-poll-server.c | 386 ++++++++++++++++++++++++++
man/io_uring_register_napi.3 | 40 +++
man/io_uring_unregister_napi.3 | 27 ++
src/include/liburing.h | 3 +
src/include/liburing/io_uring.h | 12 +
src/liburing-ffi.map | 2 +
src/liburing.map | 2 +
src/register.c | 12 +
12 files changed, 940 insertions(+)
create mode 100644 examples/napi-busy-poll-client.c
create mode 100644 examples/napi-busy-poll-server.c
create mode 100644 man/io_uring_register_napi.3
create mode 100644 man/io_uring_unregister_napi.3
base-commit: b7f85996a5cb290fc2ad7d2f4d7341fc54321016
--
2.39.1
next reply other threads:[~2023-04-25 18:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-25 18:20 Stefan Roesch [this message]
2023-04-25 18:20 ` [PATCH v9 1/4] liburing: add api to set napi busy poll settings Stefan Roesch
2024-02-02 16:41 ` Olivier Langlois
2024-02-02 16:42 ` Jens Axboe
2024-02-02 17:41 ` Olivier Langlois
2024-02-02 17:48 ` Jens Axboe
2024-02-02 20:11 ` Olivier Langlois
2024-02-02 20:14 ` Jens Axboe
2024-02-02 20:23 ` Olivier Langlois
2024-02-02 22:20 ` Jens Axboe
2024-02-02 22:46 ` Jens Axboe
2024-02-03 2:30 ` Jens Axboe
2023-04-25 18:20 ` [PATCH v9 2/4] liburing: add documentation for new napi busy polling Stefan Roesch
2023-04-25 18:20 ` [PATCH v9 3/4] liburing: add example programs for napi busy poll Stefan Roesch
2023-04-25 18:20 ` [PATCH v9 4/4] liburing: update changelog with new feature Stefan Roesch
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=20230425182054.2826621-1-shr@devkernel.io \
--to=shr@devkernel.io \
--cc=ammarfaizi2@gnuweeb.org \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=kernel-team@fb.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.