x86: Allow 1MB of slack between the e820 map and SRAT, not 4GB
[safe/jmp/linux-2.6] / arch / x86 / mm / srat_64.c
index c7a18aa..87b45bf 100644 (file)
@@ -346,8 +346,8 @@ static int __init nodes_cover_memory(const struct bootnode *nodes)
        }
 
        e820ram = max_pfn - (e820_hole_size(0, max_pfn<<PAGE_SHIFT)>>PAGE_SHIFT);
-       /* We seem to lose 3 pages somewhere. Allow a bit of slack. */
-       if ((long)(e820ram - pxmram) >= 1*1024*1024) {
+       /* We seem to lose 3 pages somewhere. Allow 1M of slack. */
+       if ((long)(e820ram - pxmram) >= (1<<(20 - PAGE_SHIFT))) {
                printk(KERN_ERR
        "SRAT: PXMs only cover %luMB of your %luMB e820 RAM. Not used.\n",
                        (pxmram << PAGE_SHIFT) >> 20,