sched/topology: Set correct NUMA topology type
authorSrikar Dronamraju <[email protected]>
Fri, 10 Aug 2018 17:00:18 +0000 (22:30 +0530)
committerIngo Molnar <[email protected]>
Mon, 10 Sep 2018 08:13:45 +0000 (10:13 +0200)
With the following commit:

  051f3ca02e46 ("sched/topology: Introduce NUMA identity node sched domain")

the scheduler introduced a new NUMA level. However this leads to the NUMA topology
on 2 node systems to not be marked as NUMA_DIRECT anymore.

After this commit, it gets reported as NUMA_BACKPLANE, because
sched_domains_numa_level is now 2 on 2 node systems.

Fix this by allowing setting systems that have up to 2 NUMA levels as
NUMA_DIRECT.

While here remove code that assumes that level can be 0.

Signed-off-by: Srikar Dronamraju <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Cc: Andre Wild <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Suravee Suthikulpanit <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: linuxppc-dev <[email protected]>
Fixes: 051f3ca02e46 "Introduce NUMA identity node sched domain"
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
kernel/sched/topology.c

index 56a0fed30c0a8786a47c600e90c4016140b1fb58..505a41c42b96107247e8b4a1f7259d4d883e4ec2 100644 (file)
@@ -1295,7 +1295,7 @@ static void init_numa_topology_type(void)
 
        n = sched_max_numa_distance;
 
-       if (sched_domains_numa_levels <= 1) {
+       if (sched_domains_numa_levels <= 2) {
                sched_numa_topology_type = NUMA_DIRECT;
                return;
        }
@@ -1380,9 +1380,6 @@ void sched_init_numa(void)
                        break;
        }
 
-       if (!level)
-               return;
-
        /*
         * 'level' contains the number of unique distances
         *