Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7c84c6a authored by Christoph Lameter's avatar Christoph Lameter Committed by Linus Torvalds
Browse files

[PATCH] boot_pageset must not be freed.



The boot_pageset needs to be preserved for hotplugging and for off line
processors and nodes. Otherwise pointers will point into memory that has
now a different use. /proc/zoneinfo is currently showing strange results
if processors / nodes are not present.

Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a4936044
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -1742,10 +1742,17 @@ inline void setup_pageset(struct per_cpu_pageset *p, unsigned long batch)
 * with interrupts disabled.
 *
 * Some NUMA counter updates may also be caught by the boot pagesets.
 * These will be discarded when bootup is complete.
 *
 * The boot_pagesets must be kept even after bootup is complete for
 * unused processors and/or zones. They do play a role for bootstrapping
 * hotplugged processors.
 *
 * zoneinfo_show() and maybe other functions do
 * not check if the processor is online before following the pageset pointer.
 * Other parts of the kernel may not check if the zone is available.
 */
static struct per_cpu_pageset
	boot_pageset[NR_CPUS] __initdata;
	boot_pageset[NR_CPUS];

/*
 * Dynamically allocate memory for the