Re: [PATCH] memcg: use ID in page_cgroup

From: KAMEZAWA Hiroyuki
Date: Mon Aug 23 2010 - 22:01:20 EST


On Tue, 24 Aug 2010 10:14:25 +0900
Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> wrote:

> > > > @@ -723,6 +729,11 @@ static inline bool mem_cgroup_is_root(st
> > > > return (mem == root_mem_cgroup);
> > > > }
> > > >
> > > > +static inline bool mem_cgroup_is_rootid(unsigned short id)
> > > > +{
> > > > + return (id == 1);
> > > > +}
> > > > +
> > > It might be better to add
> > >
> > > BUG_ON(newid->id != 1)
> > >
> > > in cgroup.c::cgroup_init_idr().
> > >
> >
> > Why ??
> >
> Just to make sure that the root css has id==1. mem_cgroup_is_rootid() make
> use of the fact.
> I'm sorry if I miss something.
>

Hmm. The function allocating ID does

4530 static struct css_id *get_new_cssid(struct cgroup_subsys *ss, int depth)
4531 {
==
4546 spin_lock(&ss->id_lock);
4547 /* Don't use 0. allocates an ID of 1-65535 */
4548 error = idr_get_new_above(&ss->idr, newid, 1, &myid);
4549 spin_unlock(&ss->id_lock);
==

and allocates ID above "1", always.

Adding BUG_ON(newid->id != 1) will mean that we doubt the bitmap function and
consider possibility that new->id == 0.

But, we're 100% sure that it never happens.

I don't think adding a comment is a right thing to do.

Thanks,
-Kame

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/