exynos-linux-stable/tools/perf/bench
Jiri Olsa 4754486364 perf bench numa: Fix cpu0 binding
[ Upstream commit 6bbfe4e602691b90ac866712bd4c43c51e546a60 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-09-06 10:19:33 +02:00
..
bench.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
Build perf bench: Rename 'mem-memcpy.c' => 'mem-functions.c' 2015-10-19 15:39:39 -03:00
futex-hash.c perf bench futex: Add missing compiler.h header 2016-07-12 15:20:30 -03:00
futex-lock-pi.c perf bench futex: Add missing compiler.h header 2016-07-12 15:20:30 -03:00
futex-requeue.c perf bench futex: Use NSEC_PER_USEC 2016-08-23 15:37:33 -03:00
futex-wake-parallel.c perf bench futex: Use NSEC_PER_USEC 2016-08-23 15:37:33 -03:00
futex-wake.c perf bench futex: Use NSEC_PER_USEC 2016-08-23 15:37:33 -03:00
futex.h perf bench futex: Simplify wrapper for LOCK_PI 2016-04-25 20:24:26 -03:00
mem-functions.c perf bench mem: Use USEC_PER_SEC 2016-08-23 15:37:33 -03:00
mem-memcpy-arch.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
mem-memcpy-x86-64-asm-def.h perf/bench: Fix mem* routines usage after alternatives change 2015-03-03 18:01:10 +01:00
mem-memcpy-x86-64-asm.S perf bench: Copy kernel files needed to build mem{cpy,set} x86_64 benchmarks 2016-07-12 15:20:32 -03:00
mem-memset-arch.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
mem-memset-x86-64-asm-def.h perf/bench: Fix mem* routines usage after alternatives change 2015-03-03 18:01:10 +01:00
mem-memset-x86-64-asm.S perf bench: Copy kernel files needed to build mem{cpy,set} x86_64 benchmarks 2016-07-12 15:20:32 -03:00
numa.c perf bench numa: Fix cpu0 binding 2019-09-06 10:19:33 +02:00
sched-messaging.c perf bench sched-messaging: Use USEC_PER_MSEC 2016-08-23 15:37:33 -03:00
sched-pipe.c perf bench sched-pipe: Use linux/time64.h, USEC_PER_SEC 2016-08-23 15:37:33 -03:00