memcg: use [kv]zalloc[_node] rather than [kv]malloc+memset

In mem_cgroup_alloc() we currently do either kmalloc() or vmalloc() then
followed by memset() to zero the memory. This can be more efficiently
achieved by using kzalloc() and vzalloc(). There's also one situation
where we can use kzalloc_node() - this is what's new in this version of
the patch.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Minchan Kim <minchan.kim@gmail.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Jesper Juhl and committed by Linus Torvalds 17295c88 dfe076b0

+3 -6
+3 -6
mm/memcontrol.c
··· 4216 */ 4217 if (!node_state(node, N_NORMAL_MEMORY)) 4218 tmp = -1; 4219 - pn = kmalloc_node(sizeof(*pn), GFP_KERNEL, tmp); 4220 if (!pn) 4221 return 1; 4222 4223 mem->info.nodeinfo[node] = pn; 4224 - memset(pn, 0, sizeof(*pn)); 4225 - 4226 for (zone = 0; zone < MAX_NR_ZONES; zone++) { 4227 mz = &pn->zoneinfo[zone]; 4228 for_each_lru(l) ··· 4244 4245 /* Can be very big if MAX_NUMNODES is very big */ 4246 if (size < PAGE_SIZE) 4247 - mem = kmalloc(size, GFP_KERNEL); 4248 else 4249 - mem = vmalloc(size); 4250 4251 if (!mem) 4252 return NULL; 4253 4254 - memset(mem, 0, size); 4255 mem->stat = alloc_percpu(struct mem_cgroup_stat_cpu); 4256 if (!mem->stat) 4257 goto out_free;
··· 4216 */ 4217 if (!node_state(node, N_NORMAL_MEMORY)) 4218 tmp = -1; 4219 + pn = kzalloc_node(sizeof(*pn), GFP_KERNEL, tmp); 4220 if (!pn) 4221 return 1; 4222 4223 mem->info.nodeinfo[node] = pn; 4224 for (zone = 0; zone < MAX_NR_ZONES; zone++) { 4225 mz = &pn->zoneinfo[zone]; 4226 for_each_lru(l) ··· 4246 4247 /* Can be very big if MAX_NUMNODES is very big */ 4248 if (size < PAGE_SIZE) 4249 + mem = kzalloc(size, GFP_KERNEL); 4250 else 4251 + mem = vzalloc(size); 4252 4253 if (!mem) 4254 return NULL; 4255 4256 mem->stat = alloc_percpu(struct mem_cgroup_stat_cpu); 4257 if (!mem->stat) 4258 goto out_free;