aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ppc64
diff options
context:
space:
mode:
authorMike Kravetz <kravetz@us.ibm.com>2005-11-04 15:20:24 -0800
committerPaul Mackerras <paulus@samba.org>2005-11-08 15:17:22 +1100
commit82dd26a971848efafc6c8f12803ae012d268d2eb (patch)
tree74a72d94a726e876dc9db54155d158ed8e4f5b21 /include/asm-ppc64
parent[PATCH] Memory Add Fixes for ppc64 (diff)
downloadlinux-dev-82dd26a971848efafc6c8f12803ae012d268d2eb.tar.xz
linux-dev-82dd26a971848efafc6c8f12803ae012d268d2eb.zip
[PATCH] Memory Add Fixes for ppc64
This is a temporary kludge that supports adding all new memory to node 0. I will provide a more complete solution similar to that used for dynamically added CPUs in a few days. Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-ppc64')
-rw-r--r--include/asm-ppc64/mmzone.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-ppc64/mmzone.h b/include/asm-ppc64/mmzone.h
index 80a708e7093a..15e777ce0f4a 100644
--- a/include/asm-ppc64/mmzone.h
+++ b/include/asm-ppc64/mmzone.h
@@ -33,6 +33,9 @@ extern int numa_cpu_lookup_table[];
extern char *numa_memory_lookup_table;
extern cpumask_t numa_cpumask_lookup_table[];
extern int nr_cpus_in_node[];
+#ifdef CONFIG_MEMORY_HOTPLUG
+extern unsigned long max_pfn;
+#endif
/* 16MB regions */
#define MEMORY_INCREMENT_SHIFT 24
@@ -45,6 +48,11 @@ static inline int pa_to_nid(unsigned long pa)
{
int nid;
+#ifdef CONFIG_MEMORY_HOTPLUG
+ /* kludge hot added sections default to node 0 */
+ if (pa >= (max_pfn << PAGE_SHIFT))
+ return 0;
+#endif
nid = numa_memory_lookup_table[pa >> MEMORY_INCREMENT_SHIFT];
#ifdef DEBUG_NUMA