From 72fccd647d84a8d24a475e6cf120524fe41055b0 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Mon, 16 Jan 2006 01:56:51 +0100 Subject: [PATCH] --- yaml --- r: 18610 b: refs/heads/master c: ee408c79420b6a437332d6977fe33ab72c36dc97 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86_64/mm/init.c | 18 +++++------------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index d0e9ca953bab..0efff42d7031 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 142a64a650fa5786c2ecea3de5ae3d5a2de72312 +refs/heads/master: ee408c79420b6a437332d6977fe33ab72c36dc97 diff --git a/trunk/arch/x86_64/mm/init.c b/trunk/arch/x86_64/mm/init.c index eca60125efc3..ef84106c1509 100644 --- a/trunk/arch/x86_64/mm/init.c +++ b/trunk/arch/x86_64/mm/init.c @@ -262,19 +262,11 @@ static void __init find_early_table_space(unsigned long end) tables = round_up(puds * sizeof(pud_t), PAGE_SIZE) + round_up(pmds * sizeof(pmd_t), PAGE_SIZE); - /* Put page tables beyond the DMA zones if possible. - RED-PEN might be better to spread them out more over - memory to avoid hotspots */ - if (end > MAX_DMA32_PFN< MAX_DMA_PFN << PAGE_SHIFT) - start = MAX_DMA_PFN << PAGE_SHIFT; - else - start = 0x8000; - - table_start = find_e820_area(start, end, tables); - if (table_start == -1) - table_start = find_e820_area(0x8000, end, tables); + /* RED-PEN putting page tables only on node 0 could + cause a hotspot and fill up ZONE_DMA. The page tables + need roughly 0.5KB per GB. */ + start = 0x8000; + table_start = find_e820_area(start, end, tables); if (table_start == -1UL) panic("Cannot find space for the kernel page tables");