[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BB3C739.2020106@kernel.org>
Date: Wed, 31 Mar 2010 15:05:45 -0700
From: Yinghai Lu <yinghai@...nel.org>
To: James Morris <jmorris@...ei.org>
CC: "H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org, airlied@...ux.ie
Subject: Re: Config NO_BOOTMEM breaks my amd64 box
On 03/30/2010 11:47 PM, James Morris wrote:
> On Tue, 30 Mar 2010, H. Peter Anvin wrote:
>
>> On 03/30/2010 09:49 PM, James Morris wrote:
>>> Please make NO_BOOTMEM default to n, at least for amd64, where I've found
>>> that it leads to all kinds of strange, undebuggable boot hangs and errors
>>> (with relatively current Fedora development userland).
>>
>> Have you tested it with the latest fixes that are now in Linus' tree (-rc3)?
>
> Yes, it was happening with -rc3.
in case, you have one 32bit system without RAM installed on node0. please check
Thanks
Yinghai
Subject: [PATCH] x86: Fix 32bit system without RAM on Node0
when 32bit numa is used, free_all_bootmem() will still only go over with
node id 0.
If node 0 doesn't have RAM installed, We need to go with node1
because early_node_map still use 1 for all ranges, and ram from node1
becom low ram.
Try to use MAX_NUMNODES like 64 numa does.
Signed-off-by: Yinghai Lu <yinghai@...nel.org>
---
arch/x86/mm/init_32.c | 5 +++++
1 file changed, 5 insertions(+)
Index: linux-2.6/arch/x86/mm/init_32.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/init_32.c
+++ linux-2.6/arch/x86/mm/init_32.c
@@ -875,7 +875,12 @@ void __init mem_init(void)
BUG_ON(!mem_map);
#endif
/* this will put all low memory onto the freelists */
+#if defined(CONFIG_NO_BOOTMEM) && defined(MAX_NUMNODES)
+ /* In case some 32bit systems don't have RAM installed on node0 */
+ totalram_pages += free_all_memory_core_early(MAX_NUMNODES);
+#else
totalram_pages += free_all_bootmem();
+#endif
reservedpages = 0;
for (tmp = 0; tmp < max_low_pfn; tmp++)
--
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