Messages in this thread | | | Date | Mon, 14 Apr 2008 19:20:42 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] use vmalloc for mem_cgroup allocation. v2 |
| |
On Tue, 15 Apr 2008 10:08:25 +0800 Li Zefan <lizf@cn.fujitsu.com> 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)) { mem = &init_mem_cgroup; page_cgroup_cache = KMEM_CACHE(page_cgroup, SLAB_PANIC); } else { mem = vmalloc(sizeof(struct mem_cgroup)); if (mem == NULL) return ERR_PTR(-ENOMEM); memset(mem, 0, sizeof(*mem)); }
| |