On Thu, 3 Sep 2009, Paul E. McKenney wrote: > If it were the user of the slab who was invoking some variant of > call_rcu(), then I would agree with you. The user already has to deal with it as explained by Eric. > However, call_rcu() is instead being invoked by the slab itself in the > case of SLAB_DESTROY_BY_RCU, so that there is no variation in usage. > Requiring that the user call rcu_barrier() is asking for subtle bugs. > Therefore, the best approach is to have kmem_cache_destroy() handle > the RCU cleanup, given that this cleanup is for actions taken by > kmem_cache_free(), not by the user. The user already has to properly handle barriers and rcu logic in order to use objects handled with RCU properly. Moreover the user even has to check that the object is not suddenly checked under it. Its already complex. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html