[PATCH] NUMA: broken per cpu pageset counters
authorMagnus Damm <magnus@valinux.co.jp>
Wed, 26 Oct 2005 08:58:59 +0000 (01:58 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 26 Oct 2005 17:39:43 +0000 (10:39 -0700)
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>
mm/page_alloc.c

index cc1fe2672a31b5d17f290fc0e196cc327363f9b3..e1d3d77f4aeef89259d9e3b09e500042a42d7a87 100644 (file)
@@ -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;