On 04/25/2013 04:50 PM, Li Zefan wrote: >> +static void memcg_vmpressure_shrink_dead(void) >> +{ >> + struct memcg_cache_params *params, *tmp; >> + struct kmem_cache *cachep; >> + struct mem_cgroup *memcg; >> + >> + mutex_lock(&dangling_memcgs_mutex); >> + list_for_each_entry(memcg, &dangling_memcgs, dead) { >> + >> + mem_cgroup_get(memcg); > > This mem_cgroup_get() looks redundant to me, because you're iterating the list > and never release dangling_memcgs_mutex in the middle. > You are right. We will never go all the way through free because memcg_dangling_free is called before free, and needs the mutex. Thanks -- 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