Re: [PATCH -mm v2 3/3] slub: make dead caches discard free slabs immediately

2016-04-01 Thread Peter Zijlstra
On Fri, Apr 01, 2016 at 01:55:40PM +0300, Vladimir Davydov wrote: > > > + if (deactivate) { > > > + /* > > > + * Disable empty slabs caching. Used to avoid pinning offline > > > + * memory cgroups by kmem pages that can be freed. > > > + */ > > > + s->cpu_

Re: [PATCH -mm v2 3/3] slub: make dead caches discard free slabs immediately

2016-04-01 Thread Vladimir Davydov
On Fri, Apr 01, 2016 at 11:04:41AM +0200, Peter Zijlstra wrote: > On Wed, Jan 28, 2015 at 07:22:51PM +0300, Vladimir Davydov wrote: > > +++ b/mm/slub.c > > @@ -2007,6 +2007,7 @@ static void put_cpu_partial(struct kmem_cache *s, > > struct page *page, int drain) > > int pages; > > int pobje

Re: [PATCH -mm v2 3/3] slub: make dead caches discard free slabs immediately

2016-04-01 Thread Peter Zijlstra
On Wed, Jan 28, 2015 at 07:22:51PM +0300, Vladimir Davydov wrote: > +++ b/mm/slub.c > @@ -2007,6 +2007,7 @@ static void put_cpu_partial(struct kmem_cache *s, > struct page *page, int drain) > int pages; > int pobjects; > > + preempt_disable(); > do { > pages =

[PATCH -mm v2 3/3] slub: make dead caches discard free slabs immediately

2015-01-28 Thread Vladimir Davydov
To speed up further allocations SLUB may store empty slabs in per cpu/node partial lists instead of freeing them immediately. This prevents per memcg caches destruction, because kmem caches created for a memory cgroup are only destroyed after the last page charged to the cgroup is freed. To fix th