[PATCH] x86_64: Relax SRAT covers all memory check a bit
authorAndi Kleen <ak@suse.de>
Thu, 16 Feb 2006 22:42:13 +0000 (23:42 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 17 Feb 2006 16:00:41 +0000 (08:00 -0800)
Code was refusing good SRATs because about 12K got lost somewhere.
Allow less than 1MB of difference before rejecting it.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/mm/srat.c

index cd25300726fc7ac184009b3cf926f758eeb4c1bb..809dc70675f7fa7225af3faf866db769bc255e36 100644 (file)
@@ -228,7 +228,8 @@ static int nodes_cover_memory(void)
        }
 
        e820ram = end_pfn - e820_hole_size(0, end_pfn);
-       if (pxmram < e820ram) {
+       /* We seem to lose 3 pages somewhere. Allow a bit of slack. */
+       if ((long)(e820ram - pxmram) >= 1*1024*1024) {
                printk(KERN_ERR
        "SRAT: PXMs only cover %luMB of your %luMB e820 RAM. Not used.\n",
                        (pxmram << PAGE_SHIFT) >> 20,