Re: [PATCH] memcg: use ID in page_cgroup

From: Daisuke Nishimura
Date: Tue Aug 24 2010 - 00:08:54 EST


On Tue, 24 Aug 2010 10:54:05 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:

> 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.
>
Okey, I don't have strong requirement to add BUG_ON() anyway.

These patches looks good to me except for some minor points I've commented.

Thanks,
Daisuke Nishimura.
--
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/