Thread (11 messages) 11 messages, 4 authors, 2019-07-09

Re: ["RFC PATCH" 2/2] powerpc/mm: Conslidate numa_enable check and min_common_depth check

From: Aneesh Kumar K.V <hidden>
Date: 2019-06-29 15:56:55

On 6/29/19 9:09 PM, Vaibhav Jain wrote:
"Aneesh Kumar K.V" [off-list ref] writes:
quoted
Update min_common_depth = -1 if numa is disabled. This
help us to avoid checking for both in different code paths.

Signed-off-by: Aneesh Kumar K.V <redacted>
---
  arch/powerpc/mm/numa.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index f6d68baeaa96..c84062a390cc 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -212,7 +212,7 @@ static int associativity_to_nid(const __be32 *associativity)
  {
  	int nid = NUMA_NO_NODE;
  
-	if (min_common_depth == -1 || !numa_enabled)
+	if (min_common_depth == -1)
  		goto out;
  
  	if (of_read_number(associativity, 1) >= min_common_depth)
@@ -625,6 +625,7 @@ static int __init parse_numa_properties(void)
  
  	if (numa_enabled == 0) {
  		printk(KERN_WARNING "NUMA disabled by user\n");
+		min_common_depth = -1;
  		return -1;
  	}
I would prefer updating the definition of variable 'min_common_depth' to

static int min_common_depth = -1;

This would handle the case where someone calls 'associativity_to_nid()' and
other functions that read 'min_common_depth' and get an invalid result
back. And also handle the case where kernel is booted with 'numa = off'.
Sure. As mentioned in another email, I am wondering whether all that 
min_common_depth check should be if !numa_enabled. That makes it much 
easy to read. I will respin once i get more clarity on 
of_drconf_to_nid_single usage.
Also the init value 'min_common_depth == 0' indicates that the
first word in "ibm,associativity" array represents the node-id which is
wrong. Instead its the length of the "ibm,associativity" array.
-aneesh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help