]> err.no Git - linux-2.6/commitdiff
[PATCH] Memory Add Fixes for ppc64
authorMike Kravetz <kravetz@us.ibm.com>
Fri, 4 Nov 2005 23:20:24 +0000 (15:20 -0800)
committerPaul Mackerras <paulus@samba.org>
Tue, 8 Nov 2005 04:17:22 +0000 (15:17 +1100)
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>
include/asm-ppc64/mmzone.h

index 80a708e7093a62d9646930e57be4aa9ac6ddfa3c..15e777ce0f4ab66fe61f64ff4fed055c4a86d7fc 100644 (file)
@@ -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