aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-02-16 23:42:13 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-17 08:00:41 -0800
commitfdb9df942437c6c5d1a6928d5fff824466c3af67 (patch)
treeb9f357f5f563a444dde16f1ffbf9bc503a55b9c6 /arch
parent6574ffd74b03e35026f428a2c820e6ddf45d426c (diff)
downloadlinux-fdb9df942437c6c5d1a6928d5fff824466c3af67.tar.gz
[PATCH] x86_64: Relax SRAT covers all memory check a bit
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/mm/srat.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86_64/mm/srat.c b/arch/x86_64/mm/srat.c
index cd25300726fc7a..809dc70675f7fa 100644
--- a/arch/x86_64/mm/srat.c
+++ b/arch/x86_64/mm/srat.c
@@ -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,