Re: [PATCH 3/3] mm: memcontrol: add sanity checks for memcg->id.ref on get/put

From: Michal Hocko
Date: Tue Aug 02 2016 - 17:55:41 EST


On Tue 02-08-16 14:45:03, Michal Hocko wrote:
> On Mon 01-08-16 16:26:26, Vladimir Davydov wrote:
> [...]
> > static struct mem_cgroup *mem_cgroup_id_get_active(struct mem_cgroup *memcg)
> > {
> > - while (!atomic_inc_not_zero(&memcg->id.ref))
> > + while (!atomic_inc_not_zero(&memcg->id.ref)) {
> > + VM_BUG_ON(mem_cgroup_is_root(memcg));
> > memcg = parent_mem_cgroup(memcg);
> > + }
>
> why is this BUG_ON ok? What if the root.use_hierarchy=true?

Scratch that. I got it. root will never get its count down to 0. Sorry
about the noise.
--
Michal Hocko
SUSE Labs