Re: [PATCH] perf bench: Fix numa report output code

From: Arnaldo Carvalho de Melo
Date: Wed Jun 20 2018 - 10:19:31 EST


Em Wed, Jun 20, 2018 at 11:40:36AM +0200, Jiri Olsa escreveu:
> 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.
>
> Link: http://lkml.kernel.org/n/tip-9y8n4x48mjbbcay73sq6nche@xxxxxxxxxxxxxx
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks, applied to perf/urgent.

- Arnaldo