From: Balbir Singh on
* KAMEZAWA Hiroyuki <kamezawa.hiroyu(a)jp.fujitsu.com> [2010-07-29 13:27:03]:

> On Thu, 29 Jul 2010 09:32:26 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu(a)jp.fujitsu.com> wrote:
>
> > On Wed, 28 Jul 2010 12:45:13 -0700
> > Andrew Morton <akpm(a)linux-foundation.org> wrote:
>
> > > My gut reaction to this sort of thing is "run away in terror". It
> > > encourages kernel developers to operate like lackadaisical userspace
> > > developers and to assume that underlying code can perform heroic and
> > > immortal feats. But it can't. This is the kernel and the kernel is a
> > > tough and hostile place and callers should be careful and defensive and
> > > take great efforts to minimise the strain they put upon other systems.
> > >
> > > IOW, can we avoid doing this?
> > >
> >
>
> I'll use pre-allocated pointer array in the next version. It's simple even
> if a bit slow.
>
> ==
> struct mem_cgroup *mem_cgroups[CONFIG_MAX_MEM_CGROUPS] __read_mostly;
> #define id_to_memcg(id) mem_cgroups[id];
> ==

Hmm.. I thought we were going to reuse css_id() and use that to get to
the cgroup. May be I am missing something.


--
Three Cheers,
Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: KAMEZAWA Hiroyuki on
On Mon, 2 Aug 2010 23:30:51 +0530
Balbir Singh <balbir(a)linux.vnet.ibm.com> wrote:

> * KAMEZAWA Hiroyuki <kamezawa.hiroyu(a)jp.fujitsu.com> [2010-07-29 13:27:03]:
>
> > On Thu, 29 Jul 2010 09:32:26 +0900
> > KAMEZAWA Hiroyuki <kamezawa.hiroyu(a)jp.fujitsu.com> wrote:
> >
> > > On Wed, 28 Jul 2010 12:45:13 -0700
> > > Andrew Morton <akpm(a)linux-foundation.org> wrote:
> >
> > > > My gut reaction to this sort of thing is "run away in terror". It
> > > > encourages kernel developers to operate like lackadaisical userspace
> > > > developers and to assume that underlying code can perform heroic and
> > > > immortal feats. But it can't. This is the kernel and the kernel is a
> > > > tough and hostile place and callers should be careful and defensive and
> > > > take great efforts to minimise the strain they put upon other systems.
> > > >
> > > > IOW, can we avoid doing this?
> > > >
> > >
> >
> > I'll use pre-allocated pointer array in the next version. It's simple even
> > if a bit slow.
> >
> > ==
> > struct mem_cgroup *mem_cgroups[CONFIG_MAX_MEM_CGROUPS] __read_mostly;
> > #define id_to_memcg(id) mem_cgroups[id];
> > ==
>
> Hmm.. I thought we were going to reuse css_id() and use that to get to
> the cgroup. May be I am missing something.
>
?
lookup_css_id() requires multi-level table lookup because of radix-tree.
And compiler can't generate an optimized code. linear table lookup is quick.

-Kame


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