summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMagnus Damm <magnus@valinux.co.jp>2005-10-26 01:58:59 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-26 10:39:43 -0700
commit1c6fe9465941df04a1ad8f009bd6d95b20072a58 (patch)
tree8a603129e3f5df909476d41c09c9d87939c2839f
parent8712e553562bbbed9b3a99370f08e9bc25908a76 (diff)
downloadlinux-1c6fe9465941df04a1ad8f009bd6d95b20072a58.tar.gz
linux-1c6fe9465941df04a1ad8f009bd6d95b20072a58.tar.bz2
linux-1c6fe9465941df04a1ad8f009bd6d95b20072a58.zip
[PATCH] NUMA: broken per cpu pageset counters
The NUMA counters in struct per_cpu_pageset (linux/mmzone.h) are never cleared today. This works ok for CPU 0 on NUMA machines because boot_pageset[] is already zero, but for other CPU:s this results in uninitialized counters. Signed-off-by: Magnus Damm <magnus@valinux.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--mm/page_alloc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index cc1fe2672a31..e1d3d77f4aee 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1750,6 +1750,8 @@ inline void setup_pageset(struct per_cpu_pageset *p, unsigned long batch)
{
struct per_cpu_pages *pcp;
+ memset(p, 0, sizeof(*p));
+
pcp = &p->pcp[0]; /* hot */
pcp->count = 0;
pcp->low = 2 * batch;