io-wq: get rid of wq->use_refs
authorJens Axboe <axboe@kernel.dk>
Tue, 16 Feb 2021 22:42:24 +0000 (15:42 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 22 Feb 2021 00:25:22 +0000 (17:25 -0700)
We don't support attach anymore, so doesn't make sense to carry the
use_refs reference count. Get rid of it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io-wq.c
fs/io-wq.h

index e9e218274c76fb059be986653ce62782a9a8391c..0c47febfed9b68467e06b64051e99b00bfcbe921 100644 (file)
@@ -122,8 +122,6 @@ struct io_wq {
        struct completion done;
 
        struct hlist_node cpuhp_node;
-
-       refcount_t use_refs;
 };
 
 static enum cpuhp_state io_wq_online;
@@ -1086,7 +1084,6 @@ struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data)
                        ret = -ENOMEM;
                        goto err;
                }
-               refcount_set(&wq->use_refs, 1);
                reinit_completion(&wq->done);
                return wq;
        }
@@ -1104,15 +1101,7 @@ err_wq:
        return ERR_PTR(ret);
 }
 
-bool io_wq_get(struct io_wq *wq, struct io_wq_data *data)
-{
-       if (data->free_work != wq->free_work || data->do_work != wq->do_work)
-               return false;
-
-       return refcount_inc_not_zero(&wq->use_refs);
-}
-
-static void __io_wq_destroy(struct io_wq *wq)
+void io_wq_destroy(struct io_wq *wq)
 {
        int node;
 
@@ -1135,12 +1124,6 @@ static void __io_wq_destroy(struct io_wq *wq)
        kfree(wq);
 }
 
-void io_wq_destroy(struct io_wq *wq)
-{
-       if (refcount_dec_and_test(&wq->use_refs))
-               __io_wq_destroy(wq);
-}
-
 static bool io_wq_worker_affinity(struct io_worker *worker, void *data)
 {
        struct task_struct *task = worker->task;
index a1610702f2222a9b31e5e5499d63f0ed69c82ef1..d2cf284b46410153c2a3da6c05bc571ec8ac8d01 100644 (file)
@@ -108,7 +108,6 @@ struct io_wq_data {
 };
 
 struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data);
-bool io_wq_get(struct io_wq *wq, struct io_wq_data *data);
 void io_wq_destroy(struct io_wq *wq);
 
 void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work);