All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 0/4] liburing: add api for napi busy poll
@ 2023-04-25 18:20 Stefan Roesch
  2023-04-25 18:20 ` [PATCH v9 1/4] liburing: add api to set napi busy poll settings Stefan Roesch
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Stefan Roesch @ 2023-04-25 18:20 UTC (permalink / raw)
  To: io-uring, kernel-team; +Cc: shr, axboe, 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:
- V9:
  - Update to library V2.4 and kernel 6.4
- V8:
  - Use tab in liburing-ffi.map file
  - Small fix to io_uring_register_napi man page
- V7:
  - Add new functions to liburing-ffi.map file.
  - Fix some whitespace issues.
  - Address the compile errors from CI in the two files
    napi-busy-poll-client.c and napi-busy-poll-server.c
- V6:
  - Check return value of unregister napi call and verify that busy poll
    timeout and prefer busy poll return the expected values.
- 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

*** BLURB HERE ***

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                        |   1 +
 examples/Makefile                |   2 +
 examples/napi-busy-poll-client.c | 451 +++++++++++++++++++++++++++++++
 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-ffi.map             |   2 +
 src/liburing.map                 |   2 +
 src/register.c                   |  12 +
 12 files changed, 940 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: b7f85996a5cb290fc2ad7d2f4d7341fc54321016
-- 
2.39.1


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

end of thread, other threads:[~2024-02-03  2:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-25 18:20 [PATCH v9 0/4] liburing: add api for napi busy poll Stefan Roesch
2023-04-25 18:20 ` [PATCH v9 1/4] liburing: add api to set napi busy poll settings Stefan Roesch
2024-02-02 16:41   ` Olivier Langlois
2024-02-02 16:42     ` Jens Axboe
2024-02-02 17:41       ` Olivier Langlois
2024-02-02 17:48         ` Jens Axboe
2024-02-02 20:11           ` Olivier Langlois
2024-02-02 20:14             ` Jens Axboe
2024-02-02 20:23               ` Olivier Langlois
2024-02-02 22:20                 ` Jens Axboe
2024-02-02 22:46                   ` Jens Axboe
2024-02-03  2:30                     ` Jens Axboe
2023-04-25 18:20 ` [PATCH v9 2/4] liburing: add documentation for new napi busy polling Stefan Roesch
2023-04-25 18:20 ` [PATCH v9 3/4] liburing: add example programs for napi busy poll Stefan Roesch
2023-04-25 18:20 ` [PATCH v9 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.