Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c80d79d7 authored by Yasunori Goto's avatar Yasunori Goto Committed by Linus Torvalds
Browse files

[PATCH] Configurable NODES_SHIFT

Current implementations define NODES_SHIFT in include/asm-xxx/numnodes.h for
each arch.  Its definition is sometimes configurable.  Indeed, ia64 defines 5
NODES_SHIFT values in the current git tree.  But it looks a bit messy.

SGI-SN2(ia64) system requires 1024 nodes, and the number of nodes already has
been changeable by config.  Suitable node's number may be changed in the
future even if it is other architecture.  So, I wrote configurable node's
number.

This patch set defines just default value for each arch which needs multi
nodes except ia64.  But, it is easy to change to configurable if necessary.

On ia64 the number of nodes can be already configured in generic ia64 and SN2
config.  But, NODES_SHIFT is defined for DIG64 and HP'S machine too.  So, I
changed it so that all platforms can be configured via CONFIG_NODES_SHIFT.  It
would be simpler.

See also: http://marc.theaimsgroup.com/?l=linux-kernel&m=114358010523896&w=2



Signed-off-by: default avatarYasunori Goto <y-goto@jp.fujitsu.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Jack Steiner <steiner@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 653edba1
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -549,6 +549,11 @@ config NUMA
	  Access).  This option is for configuring high-end multiprocessor
	  server machines.  If in doubt, say N.

config NODES_SHIFT
	int
	default "7"
	depends on NEED_MULTIPLE_NODES

# LARGE_VMALLOC is racy, if you *really* need it then fix it first
config ALPHA_LARGE_VMALLOC
	bool
+6 −0
Original line number Diff line number Diff line
@@ -512,6 +512,12 @@ config ARCH_DISCONTIGMEM_ENABLE
	  or have huge holes in the physical address space for other reasons.
	  See <file:Documentation/vm/numa> for more.

config NODES_SHIFT
	int
	default "4" if ARCH_LH7A40X
	default "2"
	depends on NEED_MULTIPLE_NODES

source "mm/Kconfig"

config LEDS
+6 −0
Original line number Diff line number Diff line
@@ -522,6 +522,12 @@ config NUMA
comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
	depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)

config NODES_SHIFT
	int
	default "4" if X86_NUMAQ
	default "3"
	depends on NEED_MULTIPLE_NODES

config HAVE_ARCH_BOOTMEM_NODE
	bool
	depends on NUMA
+10 −9
Original line number Diff line number Diff line
@@ -260,15 +260,6 @@ config NR_CPUS
	  than 64 will cause the use of a CPU mask array, causing a small
	  performance hit.

config IA64_NR_NODES
	int "Maximum number of NODEs (256-1024)" if (IA64_SGI_SN2 || IA64_GENERIC)
	range 256 1024
	depends on IA64_SGI_SN2 || IA64_GENERIC
	default "256"
	help
	  This option specifies the maximum number of nodes in your SSI system.
	  If in doubt, use the default.

config HOTPLUG_CPU
	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
	depends on SMP && EXPERIMENTAL
@@ -352,6 +343,16 @@ config NUMA
	  Access).  This option is for configuring high-end multiprocessor
	  server systems.  If in doubt, say N.

config NODES_SHIFT
	int "Max num nodes shift(3-10)"
	range 3 10
	default "8"
	depends on NEED_MULTIPLE_NODES
	help
	  This option specifies the maximum number of nodes in your SSI system.
	  MAX_NUMNODES will be 2^(This value).
	  If in doubt, use the default.

# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
# VIRTUAL_MEM_MAP has been retained for historical reasons.
config VIRTUAL_MEM_MAP
+5 −0
Original line number Diff line number Diff line
@@ -285,6 +285,11 @@ config NUMA
	depends on SMP && BROKEN
	default n

config NODES_SHIFT
	int
	default "1"
	depends on NEED_MULTIPLE_NODES

# turning this on wastes a bunch of space.
# Summit needs it only when NUMA is on
config BOOT_IOREMAP
Loading