Re: [PATCH v13 4/7] io-uring: add napi busy poll support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Simon Horman <simon.horman@xxxxxxxxxxxx> writes:

> On Thu, May 18, 2023 at 02:17:48PM -0700, Stefan Roesch wrote:
>> This adds the napi busy polling support in io_uring.c. It adds a new
>> napi_list to the io_ring_ctx structure. This list contains the list of
>> napi_id's that are currently enabled for busy polling. The list is
>> synchronized by the new napi_lock spin lock. The current default napi
>> busy polling time is stored in napi_busy_poll_to. If napi busy polling
>> is not enabled, the value is 0.
>>
>> In addition there is also a hash table. The hash table store the napi
>> id ond the pointer to the above list nodes. The hash table is used to
>
> nit: is 'ond' correct here?
>
>> speed up the lookup to the list elements. The hash table is synchronized
>> with rcu.
>>
>> The NAPI_TIMEOUT is stored as a timeout to make sure that the time a
>> napi entry is stored in the napi list is limited.
>>
>> The busy poll timeout is also stored as part of the io_wait_queue. This
>> is necessary as for sq polling the poll interval needs to be adjusted
>> and the napi callback allows only to pass in one value.
>>
>> This has been tested with two simple programs from the liburing library
>> repository: the napi client and the napi server program. The client
>> sends a request, which has a timestamp in its payload and the server
>> replies with the same payload. The client calculates the roundtrip time
>
> nit: checkpatch.pl --codespell says:
>
>
> :636: WARNING: 'calcualte' may be misspelled - perhaps 'calculate'?
> and stores it to calcualte the results.
>                  ^^^^^^^^^
>
> ...

Fixed in the next version.



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux