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.