io_uring: add IORING_SETUP_COOP_DETECT setup flag no-ipi
authorJens Axboe <axboe@kernel.dk>
Fri, 22 Apr 2022 21:10:10 +0000 (15:10 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 28 Apr 2022 23:22:45 +0000 (17:22 -0600)
commit47b2897694c9b6c4de768ef56568ea96378204e9
tree1e82e5006c61ee445120c368dfce55f5f58fa593
parent74607fe4b1247098890bd04689ad397bc249c38c
io_uring: add IORING_SETUP_COOP_DETECT setup flag

If this is set, io_uring will default to not using an IPI to deliver
task_work notifications. However, if io_uring detects that an IPI may be
required for the best performance, the notification method is switched.
Cases where this might happen include where the ring is used by multiple
submitters, or it splits submit and complete into different processes or
threads.

Meant to be able to be set by liburing, so that applications can be
opted-in to IPI less signaling.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h