diff options
author | Magnus Damm <magnus@valinux.co.jp> | 2005-10-26 01:58:59 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-26 10:39:43 -0700 |
commit | 1c6fe9465941df04a1ad8f009bd6d95b20072a58 (patch) | |
tree | 8a603129e3f5df909476d41c09c9d87939c2839f | |
parent | 8712e553562bbbed9b3a99370f08e9bc25908a76 (diff) | |
download | linux-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.c | 2 |
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; |