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/

