21.04.2014 20:29, Christoph Lameter: > On Sun, 20 Apr 2014, Vladimir Davydov wrote: > >> * Way #1 - prevent dead kmem caches from caching slabs on free * >> >> We can modify sl[au]b implementation so that it won't cache any objects >> on free if the kmem cache belongs to a dead memcg. Then it'd be enough >> to drain per-cpu pools of all dead kmem caches on css offline - no new >> slabs will be added there on further frees, and the last object will go >> away along with the last slab. > > You can call kmem_cache_shrink() to force slab allocators to drop cached > objects after a free. Yes, but the question is when and how often should we do that? Calling it after each kfree would be an overkill, because there may be plenty of objects in a dead cache. Calling it periodically or on vmpressure is the first thing that springs to mind - that's covered by "way #2". Thanks. -- 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>