• J
    io_uring: force creation of separate context for ATTACH_WQ and non-threads · 5c2469e0
    Jens Axboe 提交于
    Earlier kernels had SQPOLL threads that could share across anything, as
    we grabbed the context we needed on a per-ring basis. This is no longer
    the case, so only allow attaching directly if we're in the same thread
    group. That is the common use case. For non-group tasks, just setup a
    new context and thread as we would've done if sharing wasn't set. This
    isn't 100% ideal in terms of CPU utilization for the forked and share
    case, but hopefully that isn't much of a concern. If it is, there are
    plans in motion for how to improve that. Most importantly, we want to
    avoid app side regressions where sharing worked before and now doesn't.
    With this patch, functionality is equivalent to previous kernels that
    supported IORING_SETUP_ATTACH_WQ with SQPOLL.
    Reported-by: NStefan Metzmacher <metze@samba.org>
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    5c2469e0
io_uring.c 239.1 KB