Message ID | cover.1726589775.git.olivier@trillion01.com (mailing list archive) |
---|---|
Headers | show |
Series | napi tracking strategy | expand |
On 9/18/24 6:59 AM, 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, a new > abstraction has been created following the common Linux kernel idiom of > creating an abstract interface with a struct filled with function pointers. This paragraph seems to be a remnant of the v1 implementation?
On Wed, 2024-09-18 at 20:36 -0600, Jens Axboe wrote: > On 9/18/24 6:59 AM, 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, a > > new > > abstraction has been created following the common Linux kernel > > idiom of > > creating an abstract interface with a struct filled with function > > pointers. > > This paragraph seems to be a remnant of the v1 implementation? > you are right. At least the last sentence is. Is the cover letter injected somewhere in any way once the patch is accepted? Would that detail alone justify the creation of a v4? I am taking note of the detail and I will correct this if there is a need for a v4.
On 9/21/24 7:32 AM, Olivier Langlois wrote: > On Wed, 2024-09-18 at 20:36 -0600, Jens Axboe wrote: >> On 9/18/24 6:59 AM, 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, a >>> new >>> abstraction has been created following the common Linux kernel >>> idiom of >>> creating an abstract interface with a struct filled with function >>> pointers. >> >> This paragraph seems to be a remnant of the v1 implementation? >> > you are right. At least the last sentence is. Is the cover letter > injected somewhere in any way once the patch is accepted? Would that > detail alone justify the creation of a v4? > > I am taking note of the detail and I will correct this if there is a > need for a v4. Right just make a note of it if you need to send a v4 for other reasons, cover letter doesn't go anywhere in the git log - but is, however, linked off the git commits in terms of the Link in there. But since we now have this discussion in there as well clarifying it, that is fine. Doing conferences in Europe until end of next week, I'll see if I can do some thorough looking at this version during that, or worst case end of that.