android_kernel_sony_sdm845/tools/perf/bench
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jiri Olsa f6e22734fb perf bench: Fix numa report output code
[ Upstream commit 983107072be1a39cbde67d45cb0059138190e015 ]

Currently we can hit following assert when running numa bench:

  $ perf bench numa mem -p 3 -t 1 -P 512 -s 100 -zZ0cm --thp 1
  perf: bench/numa.c:1577: __bench_numa: Assertion `!(!(((wait_stat) & 0x7f) == 0))' failed.

The assertion is correct, because we hit the SIGFPE in following line:

  Thread 2.2 "thread 0/0" received signal SIGFPE, Arithmetic exception.
  [Switching to Thread 0x7fffd28c6700 (LWP 11750)]
  0x000.. in worker_thread (__tdata=0x7.. ) at bench/numa.c:1257
  1257 td->speed_gbs = bytes_done / (td->runtime_ns / NSEC_PER_SEC) / 1e9;

We don't check if the runtime is actually bigger than 1 second,
and thus this might end up with zero division within FPU.

Adding the check to prevent this.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180620094036.17278-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-24 13:12:32 +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: Fix numa report output code 2018-08-24 13:12:32 +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