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>