]> git.hungrycats.org Git - linux/commitdiff
[PATCH] ppc64: Fix another numa bug
authorAndrew Morton <akpm@osdl.org>
Thu, 5 Feb 2004 05:20:06 +0000 (21:20 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Thu, 5 Feb 2004 05:20:06 +0000 (21:20 -0800)
From: anton@samba.org

In some cases we can merge reserved regions with the next node.  There was a
bug in the way we calculated the overlapping region which caused us to fail
during boot.

arch/ppc64/mm/numa.c

index cb6f007c5ed4ae7a6b719ad0ebf70d3f4add9329..4dfd43d4c636b4ad0685252c24f944f775227330 100644 (file)
@@ -273,8 +273,8 @@ void __init do_init_bootmem(void)
                                        physbase = start_paddr;
                                }
 
-                               if (size > end_paddr - start_paddr)
-                                       size = end_paddr - start_paddr;
+                               if (size > end_paddr - physbase)
+                                       size = end_paddr - physbase;
 
                                dbg("free_bootmem %lx %lx\n", physbase, size);
                                free_bootmem_node(NODE_DATA(nid), physbase,
@@ -294,8 +294,8 @@ void __init do_init_bootmem(void)
                                        physbase = start_paddr;
                                }
 
-                               if (size > end_paddr - start_paddr)
-                                       size = end_paddr - start_paddr;
+                               if (size > end_paddr - physbase)
+                                       size = end_paddr - physbase;
 
                                dbg("reserve_bootmem %lx %lx\n", physbase,
                                    size);