[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080421185703.GA5022@damson.getinternet.no>
Date: Mon, 21 Apr 2008 20:57:03 +0200
From: Vegard Nossum <vegard.nossum@...il.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org
Subject: [PATCH] x86: don't ever allocate PTEs from lowmem
Hi,
This is needed for the kernel to boot properly without OOMing if PSE is
not present or disabled for some reason. It is the fix that you proposed for
the kmemcheck OOM-on-boot case. It would also be possible to check the PSE
feature before deciding where to allocate from, but I don't think it really
matters.
Looks ok?
(And yes, this DOES fix the OOM for me. :-D)
Vegard
>From a9ba2e2b1888fad824d3f73561460e2027b2a149 Mon Sep 17 00:00:00 2001
From: Vegard Nossum <vegard.nossum@...il.com>
Date: Mon, 21 Apr 2008 20:41:44 +0200
Subject: [PATCH] x86: don't ever allocate PTEs from lowmem
The PSE feature can be non-present for other reasons than having
CONFIG_DEBUG_PAGEALLOC=y and may OOM for those cases too. Therefore, always
try to allocate PTEs from the normal bootmem pool before falling back to
lowmem.
This is an update of:
commit 509a80c49c512ac88bd67b981145f925a306111b
Author: Ingo Molnar <mingo@...e.hu>
Date: Wed Oct 17 18:04:34 2007 +0200
x86: fix CONFIG_PAGEALLOC related boot hangs/OOMs
Signed-off-by: Vegard Nossum <vegard.nossum@...il.com>
---
arch/x86/mm/init_32.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index ee1091a..d3a411b 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -91,9 +91,7 @@ static pte_t * __init one_page_table_init(pmd_t *pmd)
if (!(pmd_val(*pmd) & _PAGE_PRESENT)) {
pte_t *page_table = NULL;
-#ifdef CONFIG_DEBUG_PAGEALLOC
page_table = (pte_t *) alloc_bootmem_pages(PAGE_SIZE);
-#endif
if (!page_table) {
page_table =
(pte_t *)alloc_bootmem_low_pages(PAGE_SIZE);
--
1.5.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists