Glauber Costa Messages: 916 Registered: October 2011
Senior Member
On 10/19/2012 11:47 PM, Christoph Lameter wrote:
> On Fri, 19 Oct 2012, Glauber Costa wrote:
>
>> An unlikely branch is used to make sure this case does not affect
>> performance in the usual slab_free path.
>>
>> The slab allocator has a time based reaper that would eventually get rid
>> of the objects, but we can also call it explicitly, since dead caches
>> are not a likely event.
>
> This is also something that could be done from slab_common since all
> allocators have kmem_cache_shrink and kmem_cache_shrink can be used to
> drain the caches and free up empty slab pages.
>
The changelog needs to be updated. I updated the code, forgot the
changelog =(
I am actually now following Tejun's last suggestion, and no longer using
my old verify_dead code.
So I am basically calling shrink_slab every once in a while until the
cache disappears.
The only change I still need in the allocators is to count the amount of
pages they have, so I can differentiate between need-to-shrink and
need-to-destroy