public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] trashing bootmem on non-NUMA boxes
@ 2004-06-25 16:12 Alex Williamson
  0 siblings, 0 replies; only message in thread
From: Alex Williamson @ 2004-06-25 16:12 UTC (permalink / raw)
  To: linux-ia64


   call_pernode_memory() is rounding memory regions to page boundaries,
but in the non-NUMA case, it's incorrectly passing the rounded start and
the original length.  Any reserved memory regions sitting beyond a
memory region that isn't nicely aligned is potentially at risk for
getting freed and trashed.  This is a fairly nasty bug that can bite in
very hard to find ways.  In my case, the EFI memory map was getting
overwritten, causing the ACPI methods to access chipset registers
cachable instead of uncachable.  It could potentially be causing some of
the random hangs and strange behavior we're seeing lately.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>

=== arch/ia64/mm/discontig.c 1.15 vs edited ==--- 1.15/arch/ia64/mm/discontig.c	Thu Jun 24 02:55:57 2004
+++ edited/arch/ia64/mm/discontig.c	Fri Jun 25 09:39:20 2004
@@ -549,7 +549,7 @@
 	if (!num_node_memblks) {
 		/* No SRAT table, so assume one node (node 0) */
 		if (start < end)
-			(*func)(start, len, 0);
+			(*func)(start, end - start, 0);
 		return;
 	}
 



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-06-25 16:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-25 16:12 [PATCH] trashing bootmem on non-NUMA boxes Alex Williamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox