All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/4] liburing: add api for napi busy poll
@ 2022-11-21 19:14 Stefan Roesch
  2022-11-21 19:14 ` [PATCH v5 1/4] liburing: add api to set napi busy poll settings Stefan Roesch
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Stefan Roesch @ 2022-11-21 19:14 UTC (permalink / raw)
  To: kernel-team; +Cc: shr, axboe, olivier, netdev, io-uring, kuba, ammarfaizi2

This adds two new api's to set/clear the napi busy poll settings. The two
new functions are called:
- io_uring_register_napi
- io_uring_unregister_napi

The patch series also contains the documentation for the two 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:
- V5:
  - Fixes to documentation.
  - Correct opcode for unregister call
  - Initialize napi structure in example programs
  - Address tab issues in recordRTT()
- V4:
  - Modify functions to use a structure to pass the napi busy poll settings
    to the kernel.
  - Return previous values when returning from the above functions.
  - Rename the functions and remove one function (no longer needed as the
    data is passed as a structure)
- 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 example programs for napi busy poll
  liburing: update changelog with new feature

 .gitignore                       |   2 +
 CHANGELOG                        |   3 +
 examples/Makefile                |   2 +
 examples/napi-busy-poll-client.c | 442 +++++++++++++++++++++++++++++++
 examples/napi-busy-poll-server.c | 386 +++++++++++++++++++++++++++
 man/io_uring_register_napi.3     |  40 +++
 man/io_uring_unregister_napi.3   |  27 ++
 src/include/liburing.h           |   3 +
 src/include/liburing/io_uring.h  |  12 +
 src/liburing.map                 |   6 +
 src/register.c                   |  12 +
 11 files changed, 935 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.3
 create mode 100644 man/io_uring_unregister_napi.3


base-commit: 8fc22e3b3348c0a6384ec926e0b19b6707622e58
-- 
2.30.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-11-25 21:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-21 19:14 [PATCH v5 0/4] liburing: add api for napi busy poll Stefan Roesch
2022-11-21 19:14 ` [PATCH v5 1/4] liburing: add api to set napi busy poll settings Stefan Roesch
2022-11-21 19:14 ` [PATCH v5 2/4] liburing: add documentation for new napi busy polling Stefan Roesch
2022-11-21 19:14 ` [PATCH v5 3/4] liburing: add example programs for napi busy poll Stefan Roesch
2022-11-25 21:31   ` Ammar Faizi
2022-11-25 21:34   ` Ammar Faizi
2022-11-21 19:14 ` [PATCH v5 4/4] liburing: update changelog with new feature Stefan Roesch

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.