diff options
author | Jens Axboe <axboe@kernel.dk> | 2022-04-26 04:49:01 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-04-30 17:39:54 +0300 |
commit | 6cf5862e3c2caafd11f39a373b98b00c5a04b83a (patch) | |
tree | 2029b157c548e50a34e2b196058bf7a639728bd8 | |
parent | 3a4b89a25ce59a87fcfff1f030cba8d544fd402c (diff) | |
download | linux-6cf5862e3c2caafd11f39a373b98b00c5a04b83a.tar.xz |
io-wq: use __set_notify_signal() to wake workers
The only difference between set_notify_signal() and __set_notify_signal()
is that the former checks if it needs to deliver an IPI to force a
reschedule. As the io-wq workers never leave the kernel, and IPI is never
needed, they simply need a wakeup.
Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/20220426014904.60384-4-axboe@kernel.dk
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | fs/io-wq.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/io-wq.c b/fs/io-wq.c index 32aeb2c581c5..824623bcf1a5 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -871,7 +871,7 @@ static bool io_wq_for_each_worker(struct io_wqe *wqe, static bool io_wq_worker_wake(struct io_worker *worker, void *data) { - set_notify_signal(worker->task); + __set_notify_signal(worker->task); wake_up_process(worker->task); return false; } @@ -991,7 +991,7 @@ static bool __io_wq_worker_cancel(struct io_worker *worker, { if (work && match->fn(work, match->data)) { work->flags |= IO_WQ_WORK_CANCEL; - set_notify_signal(worker->task); + __set_notify_signal(worker->task); return true; } |