Messages in this thread | | | Date | Mon, 22 Oct 2012 11:37:22 +0400 | From | Glauber Costa <> | Subject | Re: [PATCH v5 14/18] memcg/sl[au]b: shrink dead caches |
| |
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
| |