From: Olivier Langlois <[email protected]>
To: Jens Axboe <[email protected]>,Pavel Begunkov
<[email protected]>,[email protected]
Subject: [PATCH v3 0/3] napi tracking strategy
Date: Wed, 18 Sep 2024 08:59:06 -0400 [thread overview]
Message-ID: <[email protected]> (raw)
the actual napi tracking strategy is inducing a non-negligeable overhead.
Everytime a multishot poll is triggered or any poll armed, if the napi is
enabled on the ring a lookup is performed to either add a new napi id into
the napi_list or its timeout value is updated.
For many scenarios, this is overkill as the napi id list will be pretty
much static most of the time. To address this common scenario, a new
abstraction has been created following the common Linux kernel idiom of
creating an abstract interface with a struct filled with function pointers.
the patch serie consist of very minor fixes followed by the core of the changes
to implement the new feature.
v3 changes:
- address minor comments in patch #3
- replace the double for loop hash macro with the single loop list macro to iterate the napi elements in patch #2
- add __cold attribute to common_tracking_show_fdinfo() and napi_show_fdinfo()
v2 changes:
- extract small changes from the core changes to ease minor fixes backport
- totally remove the io_napi_tracking_ops interface
Olivier Langlois (3):
io_uring/napi: protect concurrent io_napi_entry timeout accesses
io_uring/napi: fix io_napi_entry RCU accesses
io_uring/napi: add static napi tracking strategy
include/linux/io_uring_types.h | 2 +-
include/uapi/linux/io_uring.h | 32 +++++++-
io_uring/fdinfo.c | 41 ++++++++++
io_uring/napi.c | 140 +++++++++++++++++++++++++--------
io_uring/napi.h | 15 +++-
5 files changed, 192 insertions(+), 38 deletions(-)
--
2.46.1
next reply other threads:[~2024-09-18 12:59 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-18 12:59 Olivier Langlois [this message]
2024-09-18 12:59 ` [PATCH v3 1/3] io_uring/napi: protect concurrent io_napi_entry timeout accesses Olivier Langlois
2024-09-18 12:59 ` [PATCH v3 2/3] io_uring/napi: fix io_napi_entry RCU accesses Olivier Langlois
2024-09-18 12:59 ` [PATCH v3 3/3] io_uring/napi: add static napi tracking strategy Olivier Langlois
2024-09-19 2:59 ` Jens Axboe
2024-09-21 13:51 ` Olivier Langlois
2024-09-19 2:36 ` [PATCH v3 0/3] " Jens Axboe
2024-09-21 13:32 ` Olivier Langlois
2024-09-21 13:46 ` 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 \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/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