From: Pavel Begunkov Date: Mon, 14 Jun 2021 01:36:17 +0000 (+0100) Subject: io-wq: simplify worker exiting X-Git-Tag: for-5.14/io_uring-2021-06-29~71 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=e587227b680f798dd74644d047dd52ddb36cb82c;p=linux-block.git io-wq: simplify worker exiting io_worker_handle_work() already takes care of the empty list case and releases spinlock, so get rid of ugly conditional unlocking and unconditionally call handle_work() Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/7521e485677f381036676943e876a0afecc23017.1623634181.git.asml.silence@gmail.com Signed-off-by: Jens Axboe --- diff --git a/fs/io-wq.c b/fs/io-wq.c index 8c13e23d4a8a..2c37776c0280 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -565,10 +565,7 @@ loop: if (test_bit(IO_WQ_BIT_EXIT, &wq->state)) { raw_spin_lock_irq(&wqe->lock); - if (!wq_list_empty(&wqe->work_list)) - io_worker_handle_work(worker); - else - raw_spin_unlock_irq(&wqe->lock); + io_worker_handle_work(worker); } io_worker_exit(worker);