On Fri, 30 May 2014, Vladimir Davydov wrote: > SLUB's kmem_cache_shrink not only removes empty slabs from the cache, > but also sorts slabs by the number of objects in-use to cope with > fragmentation. To achieve that, it tries to allocate a temporary array. > If it fails, it will abort the whole procedure. If we cannot allocate a kernel structure that is mostly less than a page size then we have much more important things to worry about. The maximum number of objects per slab is 512 on my system here. > This is unacceptable for kmemcg, where we want to be sure that all empty > slabs are removed from the cache on memcg offline, so let's just skip > the de-fragmentation step if the allocation fails, but still get rid of > empty slabs. Lets just try the shrink and log the fact that it failed? Try again later? -- 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>