* [PATCH 1/4] V4 ia64 SPARSEMEM - Kconfig and Makefile
@ 2005-09-22 16:14 Bob Picco
2005-09-22 16:38 ` Greg Edwards
2005-09-22 17:31 ` Bob Picco
0 siblings, 2 replies; 3+ messages in thread
From: Bob Picco @ 2005-09-22 16:14 UTC (permalink / raw)
To: linux-ia64
The patch modifies the Kconfig file to introduce the new memory model
options and other related SPARSEMEM changes. There is also a minor change
in the Makefile.
Signed-off-by: Bob Picco <bob.picco@hp.com>
arch/ia64/Kconfig | 94 ++++++++++++++++++++++++++++++--------------------
arch/ia64/mm/Makefile | 5 +-
2 files changed, 60 insertions(+), 39 deletions(-)
Index: linux-2.6.14-rc2/arch/ia64/Kconfig
=================================--- linux-2.6.14-rc2.orig/arch/ia64/Kconfig 2005-09-20 17:23:34.000000000 -0400
+++ linux-2.6.14-rc2/arch/ia64/Kconfig 2005-09-21 12:28:23.000000000 -0400
@@ -176,40 +176,6 @@ config IA64_L1_CACHE_SHIFT
default "6" if ITANIUM
# align cache-sensitive data to 64 bytes
-config NUMA
- bool "NUMA support"
- depends on !IA64_HP_SIM
- default y if IA64_SGI_SN2
- select ACPI_NUMA
- help
- Say Y to compile the kernel to support NUMA (Non-Uniform Memory
- Access). This option is for configuring high-end multiprocessor
- server systems. If in doubt, say N.
-
-config VIRTUAL_MEM_MAP
- bool "Virtual mem map"
- default y if !IA64_HP_SIM
- help
- Say Y to compile the kernel with support for a virtual mem map.
- This code also only takes effect if a memory hole of greater than
- 1 Gb is found during boot. You must turn this option on if you
- require the DISCONTIGMEM option for your machine. If you are
- unsure, say Y.
-
-config HOLES_IN_ZONE
- bool
- default y if VIRTUAL_MEM_MAP
-
-config ARCH_DISCONTIGMEM_ENABLE
- bool "Discontiguous memory support"
- depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) && NUMA && VIRTUAL_MEM_MAP
- default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
- help
- Say Y to support efficient handling of discontiguous physical memory,
- for architectures which are either NUMA (Non-Uniform Memory Access)
- or have huge holes in the physical address space for other reasons.
- See <file:Documentation/vm/numa> for more.
-
config IA64_CYCLONE
bool "Cyclone (EXA) Time Source support"
help
@@ -232,8 +198,10 @@ config IA64_SGI_SN_XP
based on a network adapter and DMA messaging.
config FORCE_MAX_ZONEORDER
- int
- default "18"
+ int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
+ range 11 17 if !HUGETLB_PAGE
+ default "17" if HUGETLB_PAGE
+ default "11"
config SMP
bool "Symmetric multi-processing support"
@@ -298,6 +266,60 @@ config PREEMPT
source "mm/Kconfig"
+config ARCH_SELECT_MEMORY_MODEL
+ def_bool y
+
+config ARCH_FLATMEM_ENABLE
+ def_bool y
+
+config ARCH_DISCONTIGMEM_ENABLE
+ def_bool y
+ depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
+ help
+ Say Y to support efficient handling of discontiguous physical memory,
+ for architectures which are either NUMA (Non-Uniform Memory Access)
+ or have huge holes in the physical address space for other reasons.
+ See <file:Documentation/vm/numa> for more.
+
+config ARCH_DISCONTIGMEM_DEFAULT
+ def_bool y
+ depends on ARCH_DISCONTIGMEM_ENABLE
+
+config ARCH_FLATMEM_ENABLE
+ def_bool y
+
+config ARCH_SPARSEMEM_ENABLE
+ def_bool y
+ depends on ARCH_DISCONTIGMEM_ENABLE
+
+config NUMA
+ bool "NUMA support"
+ depends on !IA64_HP_SIM && !FLATMEM
+ default y if IA64_SGI_SN2
+ help
+ Say Y to compile the kernel to support NUMA (Non-Uniform Memory
+ Access). This option is for configuring high-end multiprocessor
+ server systems. If in doubt, say N.
+
+config VIRTUAL_MEM_MAP
+ bool "Virtual mem map"
+ depends on !SPARSEMEM
+ default y if !IA64_HP_SIM
+ help
+ Say Y to compile the kernel with support for a virtual mem map.
+ This code also only takes effect if a memory hole of greater than
+ 1 Gb is found during boot. You must turn this option on if you
+ require the DISCONTIGMEM option for your machine. If you are
+ unsure, say Y.
+
+config HOLES_IN_ZONE
+ bool
+ default y if VIRTUAL_MEM_MAP
+
+config HAVE_ARCH_EARLY_PFN_TO_NID
+ def_bool y
+ depends on NEED_MULTIPLE_NODES
+
config IA32_SUPPORT
bool "Support for Linux/x86 binaries"
help
Index: linux-2.6.14-rc2/arch/ia64/mm/Makefile
=================================--- linux-2.6.14-rc2.orig/arch/ia64/mm/Makefile 2004-12-24 16:34:30.000000000 -0500
+++ linux-2.6.14-rc2/arch/ia64/mm/Makefile 2005-09-21 12:26:31.000000000 -0400
@@ -7,6 +7,5 @@ obj-y := init.o fault.o tlb.o extable.o
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
obj-$(CONFIG_NUMA) += numa.o
obj-$(CONFIG_DISCONTIGMEM) += discontig.o
-ifndef CONFIG_DISCONTIGMEM
-obj-y += contig.o
-endif
+obj-$(CONFIG_SPARSEMEM) += discontig.o
+obj-$(CONFIG_FLATMEM) += contig.o
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/4] V4 ia64 SPARSEMEM - Kconfig and Makefile
2005-09-22 16:14 [PATCH 1/4] V4 ia64 SPARSEMEM - Kconfig and Makefile Bob Picco
@ 2005-09-22 16:38 ` Greg Edwards
2005-09-22 17:31 ` Bob Picco
1 sibling, 0 replies; 3+ messages in thread
From: Greg Edwards @ 2005-09-22 16:38 UTC (permalink / raw)
To: linux-ia64
On Thu, Sep 22, 2005 at 12:14:25PM -0400, Bob Picco wrote:
|
| The patch modifies the Kconfig file to introduce the new memory model
| options and other related SPARSEMEM changes. There is also a minor change
| in the Makefile.
This doesn't seem to be working entirely yet. If I make sn2_defconfig
and manually switch to SPARSEMEM_MANUAL it does the right thing.
If I make the generic defconfig, and switch it to SPARSEMEM_MANUAL,
VIRTUAL_MEM_MAP is still left on:
[...]
CONFIG_IA64_GENERIC=y
[...]
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_DISCONTIGMEM=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_NUMA=y
CONFIG_VIRTUAL_MEM_MAP=y
CONFIG_HOLES_IN_ZONE=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
[...]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/4] V4 ia64 SPARSEMEM - Kconfig and Makefile
2005-09-22 16:14 [PATCH 1/4] V4 ia64 SPARSEMEM - Kconfig and Makefile Bob Picco
2005-09-22 16:38 ` Greg Edwards
@ 2005-09-22 17:31 ` Bob Picco
1 sibling, 0 replies; 3+ messages in thread
From: Bob Picco @ 2005-09-22 17:31 UTC (permalink / raw)
To: linux-ia64
Greg Edwards wrote: [Thu Sep 22 2005, 12:38:59PM EDT]
> On Thu, Sep 22, 2005 at 12:14:25PM -0400, Bob Picco wrote:
> |
> | The patch modifies the Kconfig file to introduce the new memory model
> | options and other related SPARSEMEM changes. There is also a minor change
> | in the Makefile.
>
> This doesn't seem to be working entirely yet. If I make sn2_defconfig
> and manually switch to SPARSEMEM_MANUAL it does the right thing.
>
> If I make the generic defconfig, and switch it to SPARSEMEM_MANUAL,
> VIRTUAL_MEM_MAP is still left on:
>
> [...]
> CONFIG_IA64_GENERIC=y
> [...]
> CONFIG_SELECT_MEMORY_MODEL=y
> # CONFIG_FLATMEM_MANUAL is not set
> # CONFIG_DISCONTIGMEM_MANUAL is not set
> CONFIG_SPARSEMEM_MANUAL=y
> CONFIG_DISCONTIGMEM=y
> CONFIG_SPARSEMEM=y
> CONFIG_NEED_MULTIPLE_NODES=y
> CONFIG_HAVE_MEMORY_PRESENT=y
> # CONFIG_SPARSEMEM_STATIC is not set
> CONFIG_SPARSEMEM_EXTREME=y
> CONFIG_ARCH_SELECT_MEMORY_MODEL=y
> CONFIG_ARCH_FLATMEM_ENABLE=y
> CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
> CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
> CONFIG_ARCH_SPARSEMEM_ENABLE=y
> CONFIG_NUMA=y
> CONFIG_VIRTUAL_MEM_MAP=y
> CONFIG_HOLES_IN_ZONE=y
> CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
> [...]
Greg,
Thanks for catching this. Just too many memory model permutations. Hopefully
someday just SPARSEMEM and NUMA. I think what is best here is to remove these
Kconfig options from IA64_GENERIC.
- select VIRTUAL_MEM_MAP
- select DISCONTIGMEM
This works for both config files you tested.
bob
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-09-22 17:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-22 16:14 [PATCH 1/4] V4 ia64 SPARSEMEM - Kconfig and Makefile Bob Picco
2005-09-22 16:38 ` Greg Edwards
2005-09-22 17:31 ` Bob Picco
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox