public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH liburing v2 00/12] Defer taskrun changes
@ 2022-09-01  9:32 Dylan Yudaken
  2022-09-01  9:32 ` [PATCH liburing v2 01/12] Copy defer task run definition from kernel Dylan Yudaken
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Dylan Yudaken @ 2022-09-01  9:32 UTC (permalink / raw)
  To: Jens Axboe, Pavel Begunkov, io-uring; +Cc: 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
12 is an unrelated fix to a flaky test

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

Dylan Yudaken (12):
  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
  shutdown test: bind to ephemeral port

 man/io_uring_enter.2            |  24 ++-
 man/io_uring_setup.2            |  30 ++-
 src/include/liburing.h          |  11 ++
 src/include/liburing/io_uring.h |   7 +
 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 +-
 test/shutdown.c                 |   7 +-
 18 files changed, 836 insertions(+), 52 deletions(-)
 create mode 100644 test/defer-taskrun.c


base-commit: a71d56ef3259216739677473ddb17ad861c3a964
-- 
2.30.2


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

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

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

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