Glauber Costa Messages: 916 Registered: October 2011
Senior Member
On 07/06/2012 12:16 PM, Christoph Lameter wrote:
> On Mon, 18 Jun 2012, Glauber Costa wrote:
>
>> In the slub allocator, when the last object of a page goes away, we
>> don't necessarily free it - there is not necessarily a test for empty
>> page in any slab_free path.
>
> This is the same btw in SLAB which keeps objects in per cpu caches and
> keeps empty slab pages on special queues.
>
>> This patch marks all memcg caches as dead. kmem_cache_shrink is called
>> for the ones who are not yet dead - this will force internal cache
>> reorganization, and then all references to empty pages will be removed.
>
> You need to call this also for slab to drain the caches and free the pages
> on the empty list.
>
Doesn't the SLAB have a time-based reaper for that?
That's why I was less concerned with the SLAB, but I can certainly call
it for both.