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_
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
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 =
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
4 matches
Mail list logo