On Wed, Mar 20, 2013 at 03:28:02AM +0800, Lai Jiangshan wrote:
> pool->worker_idr nor worker->id is not protected by RCU.
> don't need to free pool->worker_idr by RCU.
> 
> Just free it directly.
> 
> Signed-off-by: Lai Jiangshan <[email protected]>
...
> @@ -3462,6 +3461,7 @@ static void put_unbound_pool(struct worker_pool *pool)
>               destroy_worker(worker);
>       WARN_ON(pool->nr_workers || pool->nr_idle);
>  
> +     idr_destroy(&pool->worker_idr);
>       spin_unlock_irq(&pool->lock);
>       mutex_unlock(&pool->manager_mutex);
>       mutex_unlock(&pool->manager_arb);

I don't know about this one.  It is correct but I'd prefer to have all
frees grouped together in one function rather than scattered across
two functions.  It's not like idr_destroy() is expensive or anything.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to