From: Jens Axboe Date: Wed, 19 Jan 2022 20:11:58 +0000 (-0700) Subject: io-wq: delete dead lock shuffling code X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=73031f761cb7c2397d73957d14d041c31fe58c34;p=linux.git io-wq: delete dead lock shuffling code We used to have more code around the work loop, but now the goto and lock juggling just makes it less readable than it should. Get rid of it. Signed-off-by: Jens Axboe --- diff --git a/fs/io-wq.c b/fs/io-wq.c index 1efb134c98b7f..013e12b9fabfe 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -547,7 +547,7 @@ static void io_worker_handle_work(struct io_worker *worker) do { struct io_wq_work *work; -get_next: + /* * If we got some work, mark us as busy. If we didn't, but * the list isn't empty, it means we stalled on hashed work. @@ -606,11 +606,6 @@ get_next: spin_unlock_irq(&wq->hash->wait.lock); if (wq_has_sleeper(&wq->hash->wait)) wake_up(&wq->hash->wait); - raw_spin_lock(&wqe->lock); - /* skip unnecessary unlock-lock wqe->lock */ - if (!work) - goto get_next; - raw_spin_unlock(&wqe->lock); } } while (work);