Commit 3b094e72 authored by Jens Axboe's avatar Jens Axboe
Browse files

io-wq: get rid of wq->use_refs



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: default avatarJens Axboe <axboe@kernel.dk>
parent d25e3a3d
Loading
Loading
Loading
Loading
+1 −18
Original line number Diff line number Diff line
@@ -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 @@ struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data)
	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;
+0 −1
Original line number Diff line number Diff line
@@ -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);