public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH liburing v3 00/11] Defer taskrun changes
@ 2022-09-05 13:22 Dylan Yudaken
  2022-09-05 13:22 ` [PATCH liburing v3 01/11] Copy defer task run definition from kernel Dylan Yudaken
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Dylan Yudaken @ 2022-09-05 13:22 UTC (permalink / raw)
  To: axboe, asml.silence; +Cc: io-uring, Kernel-team, Dylan Yudaken

This series adds support to liburing for the IORING_SETUP_DEFER_TASKRUN flag.

This flag needs a couple of new API calls to force a call to get events for
users that are polling the io_uring fd (or a registered eventfd).

The second half of the series is a bit mixed and includes some documentation
fixes, overflow cleanups and test cleanups. I sent these a couple of months
ago and forgot about it, but now it does depend on the new API so it needs to
be ordered.
I can send it separately if you like.

Patches:

1 copies the definition from the kernel include file
2 introduces new APIs required for this feature
3/4/5 add tests for IORING_SETUP_DEFER_TASKRUN

6/7/8 clean and update existing documentation to match upstream
9 exposes the overflow state to the application
10 uses this and tests overflow functionality
11 gives an explicit warning if there is a short read in file-verify

Changes since v2:
 - Add documentation and .map file for new API
 - remove shutdown test

Changes since v1:
 - update tests to require IORING_SETUP_SINGLE_ISSUER
 - add docs for IORING_SETUP_DEFER_TASKRUN
 - add shutdown test

Dylan Yudaken (11):
  Copy defer task run definition from kernel
  Add documentation for IORING_SETUP_DEFER_TASKRUN flag
  add io_uring_submit_and_get_events and io_uring_get_events
  add a t_probe_defer_taskrun helper function for tests
  update existing tests for defer taskrun
  add a defer-taskrun test
  update io_uring_enter.2 docs for IORING_FEAT_NODROP
  add docs for overflow lost errors
  expose CQ ring overflow state
  overflow: add tests
  file-verify test: log if short read

 man/io_uring_cq_has_overflow.3       |  25 ++
 man/io_uring_enter.2                 |  24 +-
 man/io_uring_get_events.3            |  33 +++
 man/io_uring_setup.2                 |  30 ++-
 man/io_uring_submit_and_get_events.3 |  31 +++
 src/include/liburing.h               |  12 +
 src/include/liburing/io_uring.h      |   7 +
 src/liburing.map                     |   2 +
 src/queue.c                          |  26 ++-
 test/Makefile                        |   1 +
 test/cq-overflow.c                   | 243 ++++++++++++++++++-
 test/defer-taskrun.c                 | 333 +++++++++++++++++++++++++++
 test/eventfd-disable.c               |  33 ++-
 test/file-verify.c                   |   4 +
 test/helpers.c                       |  17 +-
 test/helpers.h                       |   2 +
 test/iopoll.c                        |  17 +-
 test/multicqes_drain.c               |  50 +++-
 test/poll-mshot-overflow.c           |  40 +++-
 test/recv-multishot.c                |  33 ++-
 test/rsrc_tags.c                     |  10 +-
 21 files changed, 922 insertions(+), 51 deletions(-)
 create mode 100644 man/io_uring_cq_has_overflow.3
 create mode 100644 man/io_uring_get_events.3
 create mode 100644 man/io_uring_submit_and_get_events.3
 create mode 100644 test/defer-taskrun.c


base-commit: 3bd7d6b27e6b7d7950bba1491bc9c385378fe4dd
-- 
2.30.2


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

end of thread, other threads:[~2022-09-05 17:42 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-05 13:22 [PATCH liburing v3 00/11] Defer taskrun changes Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 01/11] Copy defer task run definition from kernel Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 02/11] Add documentation for IORING_SETUP_DEFER_TASKRUN flag Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 03/11] add io_uring_submit_and_get_events and io_uring_get_events Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 04/11] add a t_probe_defer_taskrun helper function for tests Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 05/11] update existing tests for defer taskrun Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 06/11] add a defer-taskrun test Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 07/11] update io_uring_enter.2 docs for IORING_FEAT_NODROP Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 08/11] add docs for overflow lost errors Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 09/11] expose CQ ring overflow state Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 10/11] overflow: add tests Dylan Yudaken
2022-09-05 13:22 ` [PATCH liburing v3 11/11] file-verify test: log if short read Dylan Yudaken
2022-09-05 13:45 ` [PATCH liburing v3 00/11] Defer taskrun changes Ammar Faizi
2022-09-05 17:42 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox