All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Roesch <shr@devkernel.io>
To: Simon Horman <simon.horman@corigine.com>
Cc: io-uring@vger.kernel.org, kernel-team@fb.com, axboe@kernel.dk,
	ammarfaizi2@gnuweeb.org, netdev@vger.kernel.org, kuba@kernel.org,
	olivier@trillion01.com
Subject: Re: [PATCH v13 4/7] io-uring: add napi busy poll support
Date: Fri, 19 May 2023 16:17:11 -0700	[thread overview]
Message-ID: <qvqwmt1zx662.fsf@devbig1114.prn1.facebook.com> (raw)
In-Reply-To: <ZGdHGXOfbPd+i1qh@corigine.com>


Simon Horman <simon.horman@corigine.com> 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.

  reply	other threads:[~2023-05-19 23:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-18 21:17 [PATCH v13 0/7] io_uring: add napi busy polling support Stefan Roesch
2023-05-18 21:17 ` [PATCH v13 1/7] net: split off __napi_busy_poll from napi_busy_poll Stefan Roesch
2023-05-31 17:26   ` Jakub Kicinski
2023-06-05 17:47     ` Stefan Roesch
2023-06-05 18:00       ` Jakub Kicinski
     [not found]   ` <20230531103224.17a462cc@kernel.org>
2023-05-31 19:16     ` Stefan Roesch
2023-06-01  4:15       ` Jakub Kicinski
2023-06-02  4:12         ` Stefan Roesch
2023-06-02  4:26           ` Jakub Kicinski
2023-05-18 21:17 ` [PATCH v13 2/7] net: introduce napi_busy_loop_rcu() Stefan Roesch
     [not found]   ` <20230531102915.0afc570b@kernel.org>
2023-05-31 17:38     ` Jakub Kicinski
2023-06-05 17:45     ` Stefan Roesch
2023-05-18 21:17 ` [PATCH v13 3/7] io-uring: move io_wait_queue definition to header file Stefan Roesch
2023-05-18 21:17 ` [PATCH v13 4/7] io-uring: add napi busy poll support Stefan Roesch
2023-05-19  1:26   ` Jens Axboe
2023-05-19 23:11     ` Stefan Roesch
2023-05-19  9:53   ` Simon Horman
2023-05-19 23:17     ` Stefan Roesch [this message]
2023-05-18 21:17 ` [PATCH v13 5/7] io-uring: add sqpoll support for napi busy poll Stefan Roesch
2023-05-19  0:11   ` kernel test robot
2023-05-19  1:13     ` Jens Axboe
2023-05-19 23:29       ` Stefan Roesch
2023-05-19  4:35   ` kernel test robot
2023-05-18 21:17 ` [PATCH v13 6/7] io_uring: add register/unregister napi function Stefan Roesch
2023-05-19  1:30   ` Jens Axboe
2023-05-18 21:17 ` [PATCH v13 7/7] io_uring: add prefer busy poll to register and unregister napi api Stefan Roesch
2023-05-19  1:31 ` [PATCH v13 0/7] io_uring: add napi busy polling support 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 \
    --in-reply-to=qvqwmt1zx662.fsf@devbig1114.prn1.facebook.com \
    --to=shr@devkernel.io \
    --cc=ammarfaizi2@gnuweeb.org \
    --cc=axboe@kernel.dk \
    --cc=io-uring@vger.kernel.org \
    --cc=kernel-team@fb.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olivier@trillion01.com \
    --cc=simon.horman@corigine.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.