All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] sched/numa: Fix NUMA_DIRECT topology identification
  2015-08-11  1:20 [PATCH] sched/numa: Fix NUMA_DIRECT topology identification Aravind Gopalakrishnan
@ 2015-08-11  1:06 ` Rik van Riel
  2015-08-12 12:37 ` [tip:sched/core] " tip-bot for Aravind Gopalakrishnan
  1 sibling, 0 replies; 3+ messages in thread
From: Rik van Riel @ 2015-08-11  1:06 UTC (permalink / raw)
  To: Aravind Gopalakrishnan, mingo, peterz, linux-kernel

On 08/10/2015 09:20 PM, Aravind Gopalakrishnan wrote:
> Systems which have all nodes at a distance of at most
> 1 hop should be identified as 'NUMA_DIRECT'.
> 
> However, the scheduler incorrectly identifies it as
> 'NUMA_BACKPLANE'. This is because 'n' is assigned to
> sched_max_numa_distance but the code (mis)interprets it
> to mean 'number of hops'.
> 
> Rik had actually used sched_domains_numa_levels for detecting
> a 'NUMA_DIRECT' topology-
> http://marc.info/?l=linux-kernel&m=141279712429834&w=2
> 
> But that was changed when he removed the hops table in the
> subsequent version-
> http://marc.info/?l=linux-kernel&m=141353106106771&w=2

Good catch! Thank you!

> Fixing the issue here.
> 
> Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>

Reviewed-by: Rik van Riel <riel@redhat.com>

-- 
All rights reversed

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] sched/numa: Fix NUMA_DIRECT topology identification
@ 2015-08-11  1:20 Aravind Gopalakrishnan
  2015-08-11  1:06 ` Rik van Riel
  2015-08-12 12:37 ` [tip:sched/core] " tip-bot for Aravind Gopalakrishnan
  0 siblings, 2 replies; 3+ messages in thread
From: Aravind Gopalakrishnan @ 2015-08-11  1:20 UTC (permalink / raw)
  To: mingo, peterz, linux-kernel; +Cc: riel

Systems which have all nodes at a distance of at most
1 hop should be identified as 'NUMA_DIRECT'.

However, the scheduler incorrectly identifies it as
'NUMA_BACKPLANE'. This is because 'n' is assigned to
sched_max_numa_distance but the code (mis)interprets it
to mean 'number of hops'.

Rik had actually used sched_domains_numa_levels for detecting
a 'NUMA_DIRECT' topology-
http://marc.info/?l=linux-kernel&m=141279712429834&w=2

But that was changed when he removed the hops table in the
subsequent version-
http://marc.info/?l=linux-kernel&m=141353106106771&w=2

Fixing the issue here.

Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
---
 kernel/sched/core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 655557d..e51739e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6442,8 +6442,10 @@ static void init_numa_topology_type(void)
 
 	n = sched_max_numa_distance;
 
-	if (n <= 1)
+	if (sched_domains_numa_levels <= 1) {
 		sched_numa_topology_type = NUMA_DIRECT;
+		return;
+	}
 
 	for_each_online_node(a) {
 		for_each_online_node(b) {
-- 
2.4.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [tip:sched/core] sched/numa: Fix NUMA_DIRECT topology identification
  2015-08-11  1:20 [PATCH] sched/numa: Fix NUMA_DIRECT topology identification Aravind Gopalakrishnan
  2015-08-11  1:06 ` Rik van Riel
@ 2015-08-12 12:37 ` tip-bot for Aravind Gopalakrishnan
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Aravind Gopalakrishnan @ 2015-08-12 12:37 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: peterz, Aravind.Gopalakrishnan, efault, mingo, linux-kernel,
	torvalds, hpa, riel, tglx

Commit-ID:  e237882b8f83dd1a0eece1608bcb689d4f4b221b
Gitweb:     http://git.kernel.org/tip/e237882b8f83dd1a0eece1608bcb689d4f4b221b
Author:     Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
AuthorDate: Mon, 10 Aug 2015 20:20:48 -0500
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 12 Aug 2015 12:06:08 +0200

sched/numa: Fix NUMA_DIRECT topology identification

Systems which have all nodes at a distance of at most 1 hop should be
identified as 'NUMA_DIRECT'.

However, the scheduler incorrectly identifies it as 'NUMA_BACKPLANE'.
This is because 'n' is assigned to sched_max_numa_distance but the
code (mis)interprets it to mean 'number of hops'.

Rik had actually used sched_domains_numa_levels for detecting a
'NUMA_DIRECT' topology:

  http://marc.info/?l=linux-kernel&m=141279712429834&w=2

But that was changed when he removed the hops table in the
subsequent version:

  http://marc.info/?l=linux-kernel&m=141353106106771&w=2

Fixing the issue here.

Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1439256048-3748-1-git-send-email-Aravind.Gopalakrishnan@amd.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 kernel/sched/core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index b11f624..ea6d743 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6444,8 +6444,10 @@ static void init_numa_topology_type(void)
 
 	n = sched_max_numa_distance;
 
-	if (n <= 1)
+	if (sched_domains_numa_levels <= 1) {
 		sched_numa_topology_type = NUMA_DIRECT;
+		return;
+	}
 
 	for_each_online_node(a) {
 		for_each_online_node(b) {

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-12 12:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-11  1:20 [PATCH] sched/numa: Fix NUMA_DIRECT topology identification Aravind Gopalakrishnan
2015-08-11  1:06 ` Rik van Riel
2015-08-12 12:37 ` [tip:sched/core] " tip-bot for Aravind Gopalakrishnan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.