]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/powerpc/mm/numa.c
Merge tag 'powerpc-4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
[linux.git] / arch / powerpc / mm / numa.c
index edd8d0bc9364f2843688498b221d90f53647390d..57a5029b4521b0ea0f179b259ee3bef4dc0cfde5 100644 (file)
@@ -831,18 +831,13 @@ static void __init find_possible_nodes(void)
        of_node_put(rtas);
 }
 
-void __init initmem_init(void)
+void __init mem_topology_setup(void)
 {
-       int nid, cpu;
-
-       max_low_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT;
-       max_pfn = max_low_pfn;
+       int cpu;
 
        if (parse_numa_properties())
                setup_nonnuma();
 
-       memblock_dump_all();
-
        /*
         * Modify the set of possible NUMA nodes to reflect information
         * available about the set of online nodes, and the set of nodes
@@ -853,6 +848,23 @@ void __init initmem_init(void)
 
        find_possible_nodes();
 
+       setup_node_to_cpumask_map();
+
+       reset_numa_cpu_lookup_table();
+
+       for_each_present_cpu(cpu)
+               numa_setup_cpu(cpu);
+}
+
+void __init initmem_init(void)
+{
+       int nid;
+
+       max_low_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT;
+       max_pfn = max_low_pfn;
+
+       memblock_dump_all();
+
        for_each_online_node(nid) {
                unsigned long start_pfn, end_pfn;
 
@@ -863,10 +875,6 @@ void __init initmem_init(void)
 
        sparse_init();
 
-       setup_node_to_cpumask_map();
-
-       reset_numa_cpu_lookup_table();
-
        /*
         * We need the numa_cpu_lookup_table to be accurate for all CPUs,
         * even before we online them, so that we can use cpu_to_{node,mem}
@@ -876,8 +884,6 @@ void __init initmem_init(void)
         */
        cpuhp_setup_state_nocalls(CPUHP_POWER_NUMA_PREPARE, "powerpc/numa:prepare",
                                  ppc_numa_cpu_prepare, ppc_numa_cpu_dead);
-       for_each_present_cpu(cpu)
-               numa_setup_cpu(cpu);
 }
 
 static int __init early_numa(char *p)
@@ -1105,7 +1111,7 @@ static void setup_cpu_associativity_change_counters(void)
        for_each_possible_cpu(cpu) {
                int i;
                u8 *counts = vphn_cpu_change_counts[cpu];
-               volatile u8 *hypervisor_counts = lppaca[cpu].vphn_assoc_counts;
+               volatile u8 *hypervisor_counts = lppaca_of(cpu).vphn_assoc_counts;
 
                for (i = 0; i < distance_ref_points_depth; i++)
                        counts[i] = hypervisor_counts[i];
@@ -1131,7 +1137,7 @@ static int update_cpu_associativity_changes_mask(void)
        for_each_possible_cpu(cpu) {
                int i, changed = 0;
                u8 *counts = vphn_cpu_change_counts[cpu];
-               volatile u8 *hypervisor_counts = lppaca[cpu].vphn_assoc_counts;
+               volatile u8 *hypervisor_counts = lppaca_of(cpu).vphn_assoc_counts;
 
                for (i = 0; i < distance_ref_points_depth; i++) {
                        if (hypervisor_counts[i] != counts[i]) {