diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2021-06-14 02:36:13 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-06-14 08:23:12 -0600 |
commit | 382cb030469db3d428ada09e7925f684ba9d61cf (patch) | |
tree | f0ca473a27ab7d3e7b010ab1f52af439ee6c9f75 /fs/io-wq.c | |
parent | c7f405d6fa36f778931881bfb1e12dd401d0bc62 (diff) | |
download | linux-382cb030469db3d428ada09e7925f684ba9d61cf.tar.gz linux-382cb030469db3d428ada09e7925f684ba9d61cf.tar.bz2 linux-382cb030469db3d428ada09e7925f684ba9d61cf.zip |
io-wq: remove unused io-wq refcounting
iowq->refs is initialised to one and killed on exit, so it's not used
and we can kill it.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/401007393528ea7c102360e69a29b64498e15db2.1623634181.git.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 | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/io-wq.c b/fs/io-wq.c index 1ca98fc7d52b..f058ea0bcae8 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -109,8 +109,6 @@ struct io_wq { struct io_wq_hash *hash; - refcount_t refs; - atomic_t worker_refs; struct completion worker_done; @@ -949,7 +947,6 @@ struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data) } wq->task = get_task_struct(data->task); - refcount_set(&wq->refs, 1); atomic_set(&wq->worker_refs, 1); init_completion(&wq->worker_done); return wq; @@ -1038,8 +1035,7 @@ void io_wq_put_and_exit(struct io_wq *wq) WARN_ON_ONCE(!test_bit(IO_WQ_BIT_EXIT, &wq->state)); io_wq_exit_workers(wq); - if (refcount_dec_and_test(&wq->refs)) - io_wq_destroy(wq); + io_wq_destroy(wq); } static bool io_wq_worker_affinity(struct io_worker *worker, void *data) |