public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] Configurable NUMA node memory size
@ 2002-12-09 12:15 Erich Focht
  0 siblings, 0 replies; only message in thread
From: Erich Focht @ 2002-12-09 12:15 UTC (permalink / raw)
  To: linux-ia64

[-- Attachment #1: Type: text/plain, Size: 377 bytes --]

Hi,

following the requests from Xavier and Jesse I introduced a
configuration parameter for the maximum memory per NUMA node. The
DIG_BANKSHIFT is set accordingly, the current choices are:
         512MB/bank:  16GB/node,
        2048MB/bank:  64GB/node,
        8192MB/bank: 256GB/node.

The patch is for 2.5.50+ia64. Please consider applying it.

Thanks,
Erich

[-- Attachment #2: conf_numa_nodesize-2.5.50-ia64.path --]
[-- Type: text/x-diff, Size: 1931 bytes --]

diff -urNp linux-2.5.50-ia64/arch/ia64/Kconfig linux-2.5.50-ia64-digshift/arch/ia64/Kconfig
--- linux-2.5.50-ia64/arch/ia64/Kconfig	2002-12-09 11:23:01.000000000 +0100
+++ linux-2.5.50-ia64-digshift/arch/ia64/Kconfig	2002-12-09 12:25:25.000000000 +0100
@@ -220,6 +220,23 @@ config NUMA
 	  Access).  This option is for configuring high-end multiprocessor
 	  server systems.  If in doubt, say N.
 
+choice
+	prompt "Maximum Memory per NUMA Node" if NUMA && IA64_DIG
+	depends on NUMA && IA64_DIG
+	default IA64_NODESIZE_16GB
+
+config IA64_NODESIZE_16GB
+	bool "16GB"
+
+config IA64_NODESIZE_64GB
+	bool "64GB"
+
+config IA64_NODESIZE_256GB
+	bool "256GB"
+
+endchoice
+
+
 config VIRTUAL_MEM_MAP
 	bool "Enable Virtual Mem Map" if IA64_GENERIC || IA64_DIG
 	depends on !NUMA
diff -urNp linux-2.5.50-ia64/include/asm-ia64/mmzone.h linux-2.5.50-ia64-digshift/include/asm-ia64/mmzone.h
--- linux-2.5.50-ia64/include/asm-ia64/mmzone.h	2002-11-27 23:36:24.000000000 +0100
+++ linux-2.5.50-ia64-digshift/include/asm-ia64/mmzone.h	2002-12-09 12:02:08.000000000 +0100
@@ -104,12 +104,22 @@ extern unsigned long max_low_pfn;
 
 /*
  * Bank definitions.
- * Current settings for DIG: 512MB/bank, 16GB/node.
+ * Configurable settings for DIG: 512MB/bank:  16GB/node,
+ *                               2048MB/bank:  64GB/node,
+ *                               8192MB/bank: 256GB/node.
  */
 #define NR_BANKS_PER_NODE	32
-#define BANK_OFFSET(addr)	((unsigned long)(addr) & (BANKSIZE-1))
-#define DIG_BANKSHIFT		29
+#if defined(CONFIG_IA64_NODESIZE_16GB)
+# define DIG_BANKSHIFT		29
+#elif defined(CONFIG_IA64_NODESIZE_64GB)
+# define DIG_BANKSHIFT		31
+#elif defined(CONFIG_IA64_NODESIZE_256GB)
+# define DIG_BANKSHIFT		33
+#else
+# error Unsupported bank and nodesize!
+#endif
 #define BANKSIZE		(1UL << DIG_BANKSHIFT)
+#define BANK_OFFSET(addr)	((unsigned long)(addr) & (BANKSIZE-1))
 #define NR_BANKS		(NR_BANKS_PER_NODE * NR_NODES)
 
 /*

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-12-09 12:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-09 12:15 [Linux-ia64] Configurable NUMA node memory size Erich Focht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox