On Fri, Aug 24, 2012 at 04:01:37PM +0200, Daniel Wagner wrote: > @@ -306,6 +312,11 @@ static void __exit exit_cgroup_cls(void) > synchronize_rcu(); > #endif > > +#if IS_MODULE(CONFIG_NET_CLS_CGROUP) > + static_key_slow_dec(&cgroup_cls_enabled); > + rcu_barrier(); Why is this rcu_barrier() necessary? In general, please explain what synchronization is going on when using sync constructs which aren't obvious - e.g. memory barriers, rcu barriers. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html