• P
    io_uring: don't take task ring-file notes · eebd2e37
    Pavel Begunkov 提交于
    With ->flush() gone we're now leaving all uring file notes until the
    task dies/execs, so the ctx will not be freed until all tasks that have
    ever submit a request die. It was nicer with flush but not much, we
    could have locked as described ctx in many cases.
    
    Now we guarantee that ctx outlives all tctx in a sense that
    io_ring_exit_work() waits for all tctxs to drop their corresponding
    enties in ->xa, and ctx won't go away until then. Hence, additional
    io_uring file reference (a.k.a. task file notes) are not needed anymore.
    Signed-off-by: NPavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    eebd2e37
io_uring.c 240.1 KB