From: Jens Axboe <[email protected]>
To: Pavel Begunkov <[email protected]>,
[email protected],
Olivier Langlois <[email protected]>
Subject: Re: [PATCH v4 0/6] napi tracking strategy
Date: Mon, 4 Nov 2024 10:52:03 -0700 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
On 11/4/24 10:49 AM, Jens Axboe wrote:
>
> On Sun, 13 Oct 2024 14:28:05 -0400, Olivier Langlois wrote:
>> 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, the concept of io_uring_napi_tracking_strategy has been created.
>> the tracking strategy can be specified when io_register_napi() is called.
>>
>> [...]
>
> Applied, thanks!
>
> [1/6] io_uring/napi: protect concurrent io_napi_entry timeout accesses
> commit: d54db33e51090f68645fecb252a3ad22f28512cf
> [2/6] io_uring/napi: fix io_napi_entry RCU accesses
> commit: 613dbde4863699fe88e601ddd7315f04c1aa3239
> [3/6] io_uring/napi: improve __io_napi_add
> commit: e17bd6f1106d8c45e186a52d3ac0412f17e657c3
> [4/6] io_uring/napi: Use lock guards
> commit: 6710c043c8e9d8fa9649fffd8855e3ad883bf001
> [5/6] io_uring/napi: clean up __io_napi_do_busy_loop
> commit: c596060fbe5a1c094d46d8f7191a866879fe6672
> [6/6] io_uring/napi: add static napi tracking strategy
> commit: cc909543d239912669b14250e796bbd877f8128a
Finally got around to this one, apologies for the delay. It looks really
nice at this point.
I'm assuming you have a liburing branch too, with the new register parts
documented, and probably helpers for setting it up? Would be nice to have
an addition to the napi test case as well, so this can get exercised as
part of the usual testing.
--
Jens Axboe
prev parent reply other threads:[~2024-11-04 17:52 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-13 18:28 [PATCH v4 0/6] napi tracking strategy Olivier Langlois
2024-10-13 18:28 ` [PATCH v4 1/6] io_uring/napi: protect concurrent io_napi_entry timeout accesses Olivier Langlois
2024-10-13 18:28 ` [PATCH v4 2/6] io_uring/napi: fix io_napi_entry RCU accesses Olivier Langlois
2024-10-13 18:28 ` [PATCH v4 3/6] io_uring/napi: improve __io_napi_add Olivier Langlois
2024-10-13 18:29 ` [PATCH v4 4/6] io_uring/napi: Use lock guards Olivier Langlois
2024-10-13 18:29 ` [PATCH v4 5/6] io_uring/napi: clean up __io_napi_do_busy_loop Olivier Langlois
2024-10-13 18:29 ` [PATCH v4 6/6] io_uring/napi: add static napi tracking strategy Olivier Langlois
2024-11-04 17:49 ` [PATCH v4 0/6] " Jens Axboe
2024-11-04 17:52 ` Jens Axboe [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 \
[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