On Sat, Jan 14, 2017 at 10:38:01AM -0500, Tejun Heo wrote: > On Sat, Jan 14, 2017 at 04:27:22PM +0300, Vladimir Davydov wrote: > > > - * Second, shutdown all caches left from memory cgroups that are now > > > - * offline. > > > + * Shutdown all caches. > > > */ > > > list_for_each_entry_safe(c, c2, &s->memcg_params.list, > > > memcg_params.list) > > > shutdown_cache(c); > > > > The point of this complexity was to leave caches that happen to have > > objects when kmem_cache_destroy() is called on the list, so that they > > could be reused later. This behavior was inherited from the global > > Ah, right, I misread the branch. I don't quite get how the cache can > be reused later tho? This is called when the memcg gets released and > a clear error condition - the caller, kmem_cache_destroy(), handles it > as an error condition too. I think I understand it now. This is the alias being able to find and reuse the cache. Heh, that's a weird optimization for a corner error case. Anyways, I'll drop this patch. Thanks. -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>