OSDN Git Service

io_uring: remove IO_WQ_WORK_CB
authorPavel Begunkov <asml.silence@gmail.com>
Fri, 28 Feb 2020 07:36:38 +0000 (10:36 +0300)
committerJens Axboe <axboe@kernel.dk>
Mon, 2 Mar 2020 21:06:29 +0000 (14:06 -0700)
commit5eae8619907a1389dbd1b4a1049caf52782c0916
treef6982854a714ebe3778d17a0122c28dbd7c83711
parente85530ddda4f08d4f9ed6506d4a1f42e086e3b21
io_uring: remove IO_WQ_WORK_CB

IO_WQ_WORK_CB is used only for linked timeouts, which will be armed
before the work setup (i.e. mm, override creds, etc). The setup
shouldn't take long, so it's ok to arm it a bit later and get rid
of IO_WQ_WORK_CB.

Make io-wq call work->func() only once, callbacks will handle the rest.
i.e. the linked timeout handler will do the actual issue. And as a
bonus, it removes an extra indirect call.

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