diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2020-02-28 10:36:38 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-03-02 14:06:29 -0700 |
commit | 5eae8619907a1389dbd1b4a1049caf52782c0916 (patch) | |
tree | f6982854a714ebe3778d17a0122c28dbd7c83711 /fs/io-wq.c | |
parent | e85530ddda4f08d4f9ed6506d4a1f42e086e3b21 (diff) |
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>
Diffstat (limited to 'fs/io-wq.c')
-rw-r--r-- | fs/io-wq.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/fs/io-wq.c b/fs/io-wq.c index 39ed8751ea31..a1a42ead3b5a 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -479,9 +479,6 @@ next: worker->cur_work = work; spin_unlock_irq(&worker->lock); - if (work->flags & IO_WQ_WORK_CB) - work->func(&work); - if (work->files && current->files != work->files) { task_lock(current); current->files = work->files; |