2008-08-12 17:40:37

by Jeff Chua

[permalink] [raw]
Subject: [PATCH] enable sparsemem without CONFIG_NUMA


Linus,

While testing for more than 8 cpus, I couldn't select sparsemem when
CONFIG_X86_GENERICARCH is selected instead of CONFIG_X86_PC.

Here's a patch to enable sparsemem independent of NUMA instead of just
flatmem ... unless there a reason for sparsemem to depend on NUMA for
more than 8 CPUs?


Thanks,
Jeff


--- ./arch/x86/Kconfig.org 2008-08-06 18:41:08 +0800
+++ ./arch/x86/Kconfig 2008-08-06 18:48:13 +0800
@@ -1035,7 +1035,7 @@

config ARCH_FLATMEM_ENABLE
def_bool y
- depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA
+ depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA

config ARCH_DISCONTIGMEM_ENABLE
def_bool y
@@ -1051,7 +1051,7 @@

config ARCH_SPARSEMEM_ENABLE
def_bool y
- depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC)
+ depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH
select SPARSEMEM_STATIC if X86_32
select SPARSEMEM_VMEMMAP_ENABLE if X86_64


2008-08-13 14:15:43

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] enable sparsemem without CONFIG_NUMA


* Jeff Chua <[email protected]> wrote:

> Linus,
>
> While testing for more than 8 cpus, I couldn't select sparsemem when
> CONFIG_X86_GENERICARCH is selected instead of CONFIG_X86_PC.
>
> Here's a patch to enable sparsemem independent of NUMA instead of just
> flatmem ... unless there a reason for sparsemem to depend on NUMA for
> more than 8 CPUs?

note, i already queued this up in tip/x86/defconfig two days ago, for
v2.6.28.

Ingo

---------------------->
>From 99809963c99e1ed868d9ebeb4a5e7ee1cbe0309f Mon Sep 17 00:00:00 2001
From: Jeff Chua <[email protected]>
Date: Wed, 6 Aug 2008 19:09:53 +0800
Subject: [PATCH] x86: make sparsemem more available

With CONFIG_X86_PC, I can set CONFIG_SPARSEMEM=y.

With CONFIG_X86_GENERICARCH, CONFIG_SPARSEMEM depends on CONFIG_NUMA.

I'm using the patch below to enable sparsemem instead of flatmem.
System booted and is running.

Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/Kconfig | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7917962..e2305c7 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1035,7 +1035,7 @@ config HAVE_ARCH_ALLOC_REMAP

config ARCH_FLATMEM_ENABLE
def_bool y
- depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA
+ depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA

config ARCH_DISCONTIGMEM_ENABLE
def_bool y
@@ -1051,7 +1051,7 @@ config ARCH_SPARSEMEM_DEFAULT

config ARCH_SPARSEMEM_ENABLE
def_bool y
- depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC)
+ depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH
select SPARSEMEM_STATIC if X86_32
select SPARSEMEM_VMEMMAP_ENABLE if X86_64