On Wed 03-04-13 16:37:53, Li Zefan wrote: > >>> But memcg_update_cache_sizes calls memcg_kmem_clear_activated on the > >>> error path. > >>> > >> > >> But memcg_kmem_mark_dead() checks the ACCOUNT flag not the ACCOUNTED flag. > >> Am I missing something? > >> > > > > Dang. You are right! Glauber, is there any reason why > > memcg_kmem_mark_dead checks only KMEM_ACCOUNTED_ACTIVE rather than > > KMEM_ACCOUNTED_MASK? > > > > This all is very confusing to say the least. > > > > Anyway, this all means that Li's first patch is correct. I am not sure I > > like it though. I think that the refcount cleanup should be done as > > close to where it has been taken as possible otherwise we will end up in > > this "chase the nasty details" again and again. There are definitely two > > bugs here. The one introduced by e4715f01 and the other one introduced > > even earlier (I haven't checked that history yet). I think we should do > > something like the 2 follow up patches but if you guys think that the smaller > > patch from Li is more appropriate then I will not block it. > > > > Or we can queue my patch for 3.9, and then see if we want to change the > tear down process, and if yes we make the change for 3.10. OK, I thought it would be easier but I always end up with something similar to your patch. So feel free to add my Acked-by and parts of my changelog that fit (namely obvious bug introduced by e4715f01 and documentnation of the clean-up path). I have a split up version in case others like it more - will follow. Thanks! -- Michal Hocko SUSE Labs -- 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