Commit 495c2ff4 authored by Aneesh Kumar K.V's avatar Aneesh Kumar K.V Committed by Michael Ellerman

powerpc/mm: Consolidate numa_enable check and min_common_depth check

If we fail to parse min_common_depth from device tree we boot with
numa disabled. Reflect the same by updating numa_enabled variable
to false. Also, switch all min_common_depth failure check to
if (!numa_enabled) check.

This helps us to avoid checking for both in different code paths.
Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent f52741c4
...@@ -232,7 +232,7 @@ static int associativity_to_nid(const __be32 *associativity) ...@@ -232,7 +232,7 @@ static int associativity_to_nid(const __be32 *associativity)
{ {
int nid = NUMA_NO_NODE; int nid = NUMA_NO_NODE;
if (min_common_depth == -1 || !numa_enabled) if (!numa_enabled)
goto out; goto out;
if (of_read_number(associativity, 1) >= min_common_depth) if (of_read_number(associativity, 1) >= min_common_depth)
...@@ -648,8 +648,14 @@ static int __init parse_numa_properties(void) ...@@ -648,8 +648,14 @@ static int __init parse_numa_properties(void)
min_common_depth = find_min_common_depth(); min_common_depth = find_min_common_depth();
if (min_common_depth < 0) if (min_common_depth < 0) {
/*
* if we fail to parse min_common_depth from device tree
* mark the numa disabled, boot with numa disabled.
*/
numa_enabled = false;
return min_common_depth; return min_common_depth;
}
dbg("NUMA associativity depth for CPU/Memory: %d\n", min_common_depth); dbg("NUMA associativity depth for CPU/Memory: %d\n", min_common_depth);
...@@ -765,7 +771,7 @@ void __init dump_numa_cpu_topology(void) ...@@ -765,7 +771,7 @@ void __init dump_numa_cpu_topology(void)
unsigned int node; unsigned int node;
unsigned int cpu, count; unsigned int cpu, count;
if (min_common_depth == -1 || !numa_enabled) if (!numa_enabled)
return; return;
for_each_online_node(node) { for_each_online_node(node) {
...@@ -830,7 +836,7 @@ static void __init find_possible_nodes(void) ...@@ -830,7 +836,7 @@ static void __init find_possible_nodes(void)
struct device_node *rtas; struct device_node *rtas;
u32 numnodes, i; u32 numnodes, i;
if (min_common_depth <= 0 || !numa_enabled) if (!numa_enabled)
return; return;
rtas = of_find_node_by_path("/rtas"); rtas = of_find_node_by_path("/rtas");
...@@ -1032,7 +1038,7 @@ int hot_add_scn_to_nid(unsigned long scn_addr) ...@@ -1032,7 +1038,7 @@ int hot_add_scn_to_nid(unsigned long scn_addr)
struct device_node *memory = NULL; struct device_node *memory = NULL;
int nid; int nid;
if (!numa_enabled || (min_common_depth < 0)) if (!numa_enabled)
return first_online_node; return first_online_node;
memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory"); memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment