[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170114155343.GA13589@mtj.duckdns.org>
Date: Sat, 14 Jan 2017 10:53:43 -0500
From: Tejun Heo <tj@...nel.org>
To: Vladimir Davydov <vdavydov@...antool.org>
Cc: cl@...ux.com, penberg@...nel.org, rientjes@...gle.com,
iamjoonsoo.kim@....com, akpm@...ux-foundation.org, jsvana@...com,
hannes@...xchg.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, cgroups@...r.kernel.org, kernel-team@...com
Subject: Re: [PATCH 3/9] slab: simplify shutdown_memcg_caches()
On Sat, Jan 14, 2017 at 10:38:01AM -0500, Tejun Heo wrote:
> On Sat, Jan 14, 2017 at 04:27:22PM +0300, Vladimir Davydov wrote:
> > > - * Second, shutdown all caches left from memory cgroups that are now
> > > - * offline.
> > > + * Shutdown all caches.
> > > */
> > > list_for_each_entry_safe(c, c2, &s->memcg_params.list,
> > > memcg_params.list)
> > > shutdown_cache(c);
> >
> > The point of this complexity was to leave caches that happen to have
> > objects when kmem_cache_destroy() is called on the list, so that they
> > could be reused later. This behavior was inherited from the global
>
> Ah, right, I misread the branch. I don't quite get how the cache can
> be reused later tho? This is called when the memcg gets released and
> a clear error condition - the caller, kmem_cache_destroy(), handles it
> as an error condition too.
I think I understand it now. This is the alias being able to find and
reuse the cache. Heh, that's a weird optimization for a corner error
case. Anyways, I'll drop this patch.
Thanks.
--
tejun
Powered by blists - more mailing lists