OSDN Git Service

powerpc/vphn: Improve recognition of PRRN/VPHN
authorMichael Bringmann <mwb@linux.vnet.ibm.com>
Fri, 8 Sep 2017 20:47:36 +0000 (15:47 -0500)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 16 Oct 2017 12:12:03 +0000 (23:12 +1100)
powerpc/vphn: On Power systems with shared configurations of CPUs
and memory, there are some issues with the association of additional
CPUs and memory to nodes when hot-adding resources.  This patch
updates the initialization checks to independently recognize PRRN
or VPHN support.

Signed-off-by: Michael Bringmann <mwb@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/numa.c

index 3ae031d..5f5ff46 100644 (file)
@@ -1531,15 +1531,14 @@ int start_topology_update(void)
        if (firmware_has_feature(FW_FEATURE_PRRN)) {
                if (!prrn_enabled) {
                        prrn_enabled = 1;
-                       vphn_enabled = 0;
 #ifdef CONFIG_SMP
                        rc = of_reconfig_notifier_register(&dt_update_nb);
 #endif
                }
-       } else if (firmware_has_feature(FW_FEATURE_VPHN) &&
+       }
+       if (firmware_has_feature(FW_FEATURE_VPHN) &&
                   lppaca_shared_proc(get_lppaca())) {
                if (!vphn_enabled) {
-                       prrn_enabled = 0;
                        vphn_enabled = 1;
                        setup_cpu_associativity_change_counters();
                        init_timer_deferrable(&topology_timer);
@@ -1562,7 +1561,8 @@ int stop_topology_update(void)
 #ifdef CONFIG_SMP
                rc = of_reconfig_notifier_unregister(&dt_update_nb);
 #endif
-       } else if (vphn_enabled) {
+       }
+       if (vphn_enabled) {
                vphn_enabled = 0;
                rc = del_timer_sync(&topology_timer);
        }