OSDN Git Service

io_uring/io-wq: forward submission ref to async
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 4 Mar 2020 13:14:12 +0000 (16:14 +0300)
committerJens Axboe <axboe@kernel.dk>
Wed, 4 Mar 2020 18:39:07 +0000 (11:39 -0700)
commite9fd939654f17651ff65e7e55aa6934d29eb4335
tree7593c9acafd221b91bc1b746828f545c0350223a
parentf462fd36fc43662eeb42c95a9b8da8659af6d75e
io_uring/io-wq: forward submission ref to async

First it changes io-wq interfaces. It replaces {get,put}_work() with
free_work(), which guaranteed to be called exactly once. It also enforces
free_work() callback to be non-NULL.

io_uring follows the changes and instead of putting a submission reference
in io_put_req_async_completion(), it will be done in io_free_work(). As
removes io_get_work() with corresponding refcount_inc(), the ref balance
is maintained.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io-wq.c
fs/io-wq.h
fs/io_uring.c