Message ID | 20220830125013.570060-1-dylany@fb.com (mailing list archive) |
---|---|
Headers | show |
Series | io_uring: defer task work to when it is needed | expand |
On Tue, 30 Aug 2022 05:50:06 -0700, Dylan Yudaken wrote: > We have seen workloads which suffer due to the way task work is currently > scheduled. This scheduling can cause non-trivial tasks to run interrupting > useful work on the workload. For example in network servers, a large async > recv may run, calling memcpy on a large packet, interrupting a send. Which > would add latency. > > This series adds an option to defer async work until user space calls > io_uring_enter with the GETEVENTS flag. This allows the workload to choose > when to schedule async work and have finer control (at the expense of > complexity of managing this) of scheduling. > > [...] Applied, thanks! [1/7] io_uring: remove unnecessary variable commit: e2f73811084cb6f4821cbe6e53bb0d9407af52f5 [2/7] io_uring: introduce io_has_work commit: cb0101159452eb63d0facf806e0a868963a11035 [3/7] io_uring: do not run task work at the start of io_uring_enter commit: 415f872f5f3aedb62bf857c6e315a88e26c08aaa [4/7] io_uring: add IORING_SETUP_DEFER_TASKRUN commit: 2a23c7a52405c17183f36ef4aefb1fcf44425c2d [5/7] io_uring: move io_eventfd_put commit: 488a41100f4b9d7e10f05edead4e4d6d1c0c85a9 [6/7] io_uring: signal registered eventfd to process deferred task work commit: 3403692af0c6d5ae826f536a2c08f4e7c0b8b163 [7/7] io_uring: trace local task work run commit: 73100da58e5b1f6d8ba85e134463fb2aaca59978 Best regards,