[Devel] [PATCH -mm 1/4] memcg, slab: do not schedule cache destruction when last page goes away
Vladimir Davydov
vdavydov at parallels.com
Tue Apr 15 12:08:27 PDT 2014
Hi Christoph,
15.04.2014 19:17, Christoph Lameter:
> On Tue, 15 Apr 2014, Vladimir Davydov wrote:
>
>> 2) When freeing an object of a dead memcg cache, initiate thorough check
>> if the cache is really empty and destroy it then. That could be
>> implemented by poking the reaping thread on kfree, and actually does not
>> require the schedule_work in memcg_release_pages IMO.
>
> There is already logic in both slub and slab that does that on cache
> close.
Yeah, but here the question is when we should close caches left after
memcg offline. Obviously we should do it after all objects of such a
cache have gone, but when exactly? Do it immediately after the last
kfree (have to count objects per cache then AFAIU) or may be check
periodically (or on vmpressure) that the cache is empty by issuing
kmem_cache_shrink and looking if memcg_params::nr_pages = 0?
Thanks.
More information about the Devel
mailing list