[PATCH liburing v2 00/12] Defer taskrun changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux