Re: [PATCH] use vmalloc for mem_cgroup allocation. v2

From: Harvey Harrison
Date: Mon Apr 14 2008 - 22:29:00 EST


On Mon, 2008-04-14 at 19:20 -0700, Andrew Morton wrote:
> On Tue, 15 Apr 2008 10:08:25 +0800 Li Zefan <lizf@xxxxxxxxxxxxxx> wrote:
>
> > > @@ -992,8 +993,10 @@ mem_cgroup_create(struct cgroup_subsys *
> > > if (unlikely((cont->parent) == NULL)) {
> > > mem = &init_mem_cgroup;
> > > page_cgroup_cache = KMEM_CACHE(page_cgroup, SLAB_PANIC);
> > > - } else
> > > - mem = kzalloc(sizeof(struct mem_cgroup), GFP_KERNEL);
> > > + } else {
> > > + mem = vmalloc(sizeof(struct mem_cgroup));
> > > + memset(mem, 0, sizeof(*mem));
> >
> > what if mem == NULL. ;)
> >
> > > + }
> > >
> > > if (mem == NULL)
> > > return ERR_PTR(-ENOMEM);
> >
> > So we can move this NULL check to the above else branch, in the if brach,
> > mem won't be NULL.
>
> err, yes.
>
> So I have:
>
> if (unlikely((cont->parent) == NULL)) {

if (unlikely(cont->parent == NULL)) {

> mem = &init_mem_cgroup;
> page_cgroup_cache = KMEM_CACHE(page_cgroup, SLAB_PANIC);
> } else {
> mem = vmalloc(sizeof(struct mem_cgroup));
> if (mem == NULL)

if (!mem)

> return ERR_PTR(-ENOMEM);
> memset(mem, 0, sizeof(*mem));
> }
>

Cheers,

Harvey


--
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/