On 6/29/19 9:09 PM, Vaibhav Jain wrote:
"Aneesh Kumar K.V" <aneesh.ku...@linux.ibm.com> writes:

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 <aneesh.ku...@linux.ibm.com>
---
  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

Reply via email to