diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-12-17 11:31:46 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-12-17 11:31:46 -0800 |
commit | cb29eee3b28c79f26aff9e396a55bf2cb831e1d9 (patch) | |
tree | 8bf3f75bb38b5115f43df7acdb84d297ed91225f | |
parent | 43d1c6a6395070cb02944d78bc919425ffd3e599 (diff) | |
parent | d800c65c2d4eccebb27ffb7808e842d5b533823c (diff) | |
download | lwn-cb29eee3b28c79f26aff9e396a55bf2cb831e1d9.tar.gz lwn-cb29eee3b28c79f26aff9e396a55bf2cb831e1d9.zip |
Merge tag 'io_uring-5.16-2021-12-17' of git://git.kernel.dk/linux-block
Pull io_uring fix from Jens Axboe:
"Just a single fix, fixing an issue with the worker creation change
that was merged last week"
* tag 'io_uring-5.16-2021-12-17' of git://git.kernel.dk/linux-block:
io-wq: drop wqe lock before creating new worker
-rw-r--r-- | fs/io-wq.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/io-wq.c b/fs/io-wq.c index 8d2bb818a3bb..5c4f582d6549 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -395,7 +395,9 @@ static void io_wqe_dec_running(struct io_worker *worker) if (atomic_dec_and_test(&acct->nr_running) && io_acct_run_queue(acct)) { atomic_inc(&acct->nr_running); atomic_inc(&wqe->wq->worker_refs); + raw_spin_unlock(&wqe->lock); io_queue_worker_create(worker, acct, create_worker_cb); + raw_spin_lock(&wqe->lock); } } |