Messages in this thread | | | Date | Fri, 30 May 2014 09:46:33 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: [PATCH -mm 4/8] slub: never fail kmem_cache_shrink |
| |
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?
| |