All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Roesch <shr@devkernel.io>
To: kernel-team@fb.com
Cc: shr@devkernel.io, axboe@kernel.dk, olivier@trillion01.com,
	netdev@vger.kernel.org, io-uring@vger.kernel.org,
	kuba@kernel.org, ammarfaizi2@gnuweeb.org
Subject: [RFC PATCH v3 0/4] liburing: add api for napi busy poll timeout
Date: Mon, 14 Nov 2022 23:09:29 -0800	[thread overview]
Message-ID: <20221115070933.1792142-1-shr@devkernel.io> (raw)

This adds three new api's to set/clear the napi busy poll timeout and to set
the napi prefer busy poll setting. The three new functions are called:
- io_uring_napi_register_busy_poll_timeout,
- io_uring_napi_unregister_busy_poll_timeout,
- io_uring_register_napi_prefer_busy_poll.

The patch series also contains the documentation for the three new functions
and two example programs. The client program is called napi-busy-poll-client
and the server program napi-busy-poll-server. The client measures the
roundtrip times of requests.

There is also a kernel patch "io-uring: support napi busy poll" to enable
this feature on the kernel side.

Changes:
- V3:
  - Updated liburing.map file
  - Moved example programs from the test directory to the example directory.
    The two example programs don't fit well in the test category and need to
    be run from separate hosts.
  - Added the io_uring_register_napi_prefer_busy_poll API.
  - Added the call to io_uring_register_napi_prefer_busy_poll to the example
    programs
  - Updated the documentation
- V2:
  - Updated the liburing.map file for the two new functions.
    (added a 2.4 section)
  - Added a description of the new feature to the changelog file
  - Fixed the indentation of the longopts structure
  - Used defined exit constants
  - Fixed encodeUserData to support 32 bit builds


Signed-off-by: Stefan Roesch <shr@devkernel.io>

Stefan Roesch (4):
  liburing: add api to set napi busy poll settings
  liburing: add documentation for new napi busy polling
  liburing: add test programs for napi busy poll
  liburing: update changelog with new feature

 .gitignore                                    |   2 +
 CHANGELOG                                     |   3 +
 examples/Makefile                             |   2 +
 examples/napi-busy-poll-client.c              | 432 ++++++++++++++++++
 examples/napi-busy-poll-server.c              | 380 +++++++++++++++
 ...io_uring_register_napi_busy_poll_timeout.3 |  35 ++
 man/io_uring_register_napi_prefer_busy_poll.3 |  35 ++
 ..._uring_unregister_napi_busy_poll_timeout.3 |  26 ++
 src/include/liburing.h                        |   6 +
 src/include/liburing/io_uring.h               |   4 +
 src/liburing.map                              |   7 +
 src/register.c                                |  23 +
 12 files changed, 955 insertions(+)
 create mode 100644 examples/napi-busy-poll-client.c
 create mode 100644 examples/napi-busy-poll-server.c
 create mode 100644 man/io_uring_register_napi_busy_poll_timeout.3
 create mode 100644 man/io_uring_register_napi_prefer_busy_poll.3
 create mode 100644 man/io_uring_unregister_napi_busy_poll_timeout.3


base-commit: 8fc22e3b3348c0a6384ec926e0b19b6707622e58
-- 
2.30.2


             reply	other threads:[~2022-11-15  7:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-15  7:09 Stefan Roesch [this message]
2022-11-15  7:09 ` [RFC PATCH v3 1/4] liburing: add api to set napi busy poll settings Stefan Roesch
2022-11-15  7:09 ` [RFC PATCH v3 2/4] liburing: add documentation for new napi busy polling Stefan Roesch
2022-11-15  7:09 ` [RFC PATCH v3 3/4] liburing: add test programs for napi busy poll Stefan Roesch
2022-11-15  7:09 ` [RFC PATCH v3 4/4] liburing: update changelog with new feature Stefan Roesch

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=20221115070933.1792142-1-shr@devkernel.io \
    --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 \
    /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.