Re: [PATCH 06/10 V2] workqueue: convert worker_idr to worker_ida

Tejun Heo
2014-05-12T21:40:35Z

On Mon, May 12, 2014 at 02:56:18PM +0800, Lai Jiangshan wrote:
> @@ -1681,7 +1682,6 @@ static void worker_detach_from_pool(struct worker *worker,
> struct completion *detach_completion = NULL;
>
> mutex_lock(&pool->manager_mutex);
> - idr_remove(&pool->worker_idr, worker->id);
> list_del(&worker->node);
> if (list_empty(&pool->workers))
> detach_completion = pool->detach_completion;

Why are we moving ida removal to the caller here? Does
worker_detach_from_pool() get used for something else later? Up until
this point, the distinction seems pretty arbitrary.

> @@ -1757,8 +1754,6 @@ static struct worker *create_worker(struct worker_pool *pool)
> if (pool->flags & POOL_DISASSOCIATED)
> worker->flags |= WORKER_UNBOUND;
>
> - /* successful, commit the pointer to idr */
> - idr_replace(&pool->worker_idr, worker, worker->id);

Ah, the comment is removed altogether. Please disregard my previous
review on the comment.

Thanks.

--
tejun