From: Vegard Nossum <vegard.nossum@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org
Subject: [PATCH] x86: don't ever allocate PTEs from lowmem
Date: Mon, 21 Apr 2008 20:57:03 +0200 [thread overview]
Message-ID: <20080421185703.GA5022@damson.getinternet.no> (raw)
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@gmail.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@elte.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@gmail.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
next reply other threads:[~2008-04-21 18:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-21 18:57 Vegard Nossum [this message]
2008-04-21 19:05 ` [PATCH] x86: don't ever allocate PTEs from lowmem Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080421185703.GA5022@damson.getinternet.no \
--to=vegard.nossum@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox