linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf bench numa: Fix cpu0 binding
@ 2019-08-01 14:26 Jiri Olsa
  2019-08-01 14:35 ` Arnaldo Carvalho de Melo
  2019-08-08 20:16 ` [tip:perf/urgent] " tip-bot for Jiri Olsa
  0 siblings, 2 replies; 3+ messages in thread
From: Jiri Olsa @ 2019-08-01 14:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Satheesh Rajendran, Michael Petlan, lkml, Ingo Molnar,
	Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Andi Kleen

Michael reported an issue with perf bench numa failing with
binding to cpu0 with '-0' option.

  # perf bench numa mem -p 3 -t 1 -P 512 -s 100 -zZcm0 --thp 1 -M 1 -ddd
  # Running 'numa/mem' benchmark:

   # Running main, "perf bench numa numa-mem -p 3 -t 1 -P 512 -s 100 -zZcm0 --thp 1 -M 1 -ddd"
  binding to node 0, mask: 0000000000000001 => -1
  perf: bench/numa.c:356: bind_to_memnode: Assertion `!(ret)' failed.
  Aborted (core dumped)

This happens when the cpu0 is not part of node0,
which is the benchmark assumption and we can see
that's not the case for some powerpc servers.

Using correct node for cpu0 binding.

Cc: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
Reported-by: Michael Petlan <mpetlan@redhat.com>
Link: http://lkml.kernel.org/n/tip-9m9j1xm3xjaa1sogvbva0o8i@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/bench/numa.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c
index a640ca7aaada..513cb2f2fa32 100644
--- a/tools/perf/bench/numa.c
+++ b/tools/perf/bench/numa.c
@@ -379,8 +379,10 @@ static u8 *alloc_data(ssize_t bytes0, int map_flags,
 
 	/* Allocate and initialize all memory on CPU#0: */
 	if (init_cpu0) {
-		orig_mask = bind_to_node(0);
-		bind_to_memnode(0);
+		int node = numa_node_of_cpu(0);
+
+		orig_mask = bind_to_node(node);
+		bind_to_memnode(node);
 	}
 
 	bytes = bytes0 + HPSIZE;
-- 
2.21.0


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

* Re: [PATCH] perf bench numa: Fix cpu0 binding
  2019-08-01 14:26 [PATCH] perf bench numa: Fix cpu0 binding Jiri Olsa
@ 2019-08-01 14:35 ` Arnaldo Carvalho de Melo
  2019-08-08 20:16 ` [tip:perf/urgent] " tip-bot for Jiri Olsa
  1 sibling, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2019-08-01 14:35 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Satheesh Rajendran, Michael Petlan, lkml, Ingo Molnar,
	Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Andi Kleen

Em Thu, Aug 01, 2019 at 04:26:42PM +0200, Jiri Olsa escreveu:
> Michael reported an issue with perf bench numa failing with
> binding to cpu0 with '-0' option.
> 
>   # perf bench numa mem -p 3 -t 1 -P 512 -s 100 -zZcm0 --thp 1 -M 1 -ddd
>   # Running 'numa/mem' benchmark:
> 
>    # Running main, "perf bench numa numa-mem -p 3 -t 1 -P 512 -s 100 -zZcm0 --thp 1 -M 1 -ddd"
>   binding to node 0, mask: 0000000000000001 => -1
>   perf: bench/numa.c:356: bind_to_memnode: Assertion `!(ret)' failed.
>   Aborted (core dumped)
> 
> This happens when the cpu0 is not part of node0,
> which is the benchmark assumption and we can see
> that's not the case for some powerpc servers.
> 
> Using correct node for cpu0 binding.

Thanks, applied to perf/urgent.

- Arnaldo
 
> Cc: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
> Reported-by: Michael Petlan <mpetlan@redhat.com>
> Link: http://lkml.kernel.org/n/tip-9m9j1xm3xjaa1sogvbva0o8i@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
>  tools/perf/bench/numa.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c
> index a640ca7aaada..513cb2f2fa32 100644
> --- a/tools/perf/bench/numa.c
> +++ b/tools/perf/bench/numa.c
> @@ -379,8 +379,10 @@ static u8 *alloc_data(ssize_t bytes0, int map_flags,
>  
>  	/* Allocate and initialize all memory on CPU#0: */
>  	if (init_cpu0) {
> -		orig_mask = bind_to_node(0);
> -		bind_to_memnode(0);
> +		int node = numa_node_of_cpu(0);
> +
> +		orig_mask = bind_to_node(node);
> +		bind_to_memnode(node);
>  	}
>  
>  	bytes = bytes0 + HPSIZE;
> -- 
> 2.21.0

-- 

- Arnaldo

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

* [tip:perf/urgent] perf bench numa: Fix cpu0 binding
  2019-08-01 14:26 [PATCH] perf bench numa: Fix cpu0 binding Jiri Olsa
  2019-08-01 14:35 ` Arnaldo Carvalho de Melo
@ 2019-08-08 20:16 ` tip-bot for Jiri Olsa
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Jiri Olsa @ 2019-08-08 20:16 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: jolsa, ak, alexander.shishkin, linux-kernel, peterz, namhyung,
	tglx, sathnaga, mpetlan, acme, mingo, hpa

Commit-ID:  6bbfe4e602691b90ac866712bd4c43c51e546a60
Gitweb:     https://git.kernel.org/tip/6bbfe4e602691b90ac866712bd4c43c51e546a60
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 1 Aug 2019 16:26:42 +0200
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 1 Aug 2019 11:34:13 -0300

perf bench numa: Fix cpu0 binding

Michael reported an issue with perf bench numa failing with binding to
cpu0 with '-0' option.

  # perf bench numa mem -p 3 -t 1 -P 512 -s 100 -zZcm0 --thp 1 -M 1 -ddd
  # Running 'numa/mem' benchmark:

   # Running main, "perf bench numa numa-mem -p 3 -t 1 -P 512 -s 100 -zZcm0 --thp 1 -M 1 -ddd"
  binding to node 0, mask: 0000000000000001 => -1
  perf: bench/numa.c:356: bind_to_memnode: Assertion `!(ret)' failed.
  Aborted (core dumped)

This happens when the cpu0 is not part of node0, which is the benchmark
assumption and we can see that's not the case for some powerpc servers.

Using correct node for cpu0 binding.

Reported-by: Michael Petlan <mpetlan@redhat.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20190801142642.28004-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/bench/numa.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c
index a640ca7aaada..513cb2f2fa32 100644
--- a/tools/perf/bench/numa.c
+++ b/tools/perf/bench/numa.c
@@ -379,8 +379,10 @@ static u8 *alloc_data(ssize_t bytes0, int map_flags,
 
 	/* Allocate and initialize all memory on CPU#0: */
 	if (init_cpu0) {
-		orig_mask = bind_to_node(0);
-		bind_to_memnode(0);
+		int node = numa_node_of_cpu(0);
+
+		orig_mask = bind_to_node(node);
+		bind_to_memnode(node);
 	}
 
 	bytes = bytes0 + HPSIZE;

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

end of thread, other threads:[~2019-08-08 20:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-01 14:26 [PATCH] perf bench numa: Fix cpu0 binding Jiri Olsa
2019-08-01 14:35 ` Arnaldo Carvalho de Melo
2019-08-08 20:16 ` [tip:perf/urgent] " tip-bot for Jiri Olsa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).