diff options
Diffstat (limited to 'tools/perf/bench/numa.c')
| -rw-r--r-- | tools/perf/bench/numa.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c index 63eb49082774..44195514b19e 100644 --- a/tools/perf/bench/numa.c +++ b/tools/perf/bench/numa.c @@ -1098,7 +1098,7 @@ static void *worker_thread(void *__tdata)  	u8 *global_data;  	u8 *process_data;  	u8 *thread_data; -	u64 bytes_done; +	u64 bytes_done, secs;  	long work_done;  	u32 l;  	struct rusage rusage; @@ -1254,7 +1254,8 @@ static void *worker_thread(void *__tdata)  	timersub(&stop, &start0, &diff);  	td->runtime_ns = diff.tv_sec * NSEC_PER_SEC;  	td->runtime_ns += diff.tv_usec * NSEC_PER_USEC; -	td->speed_gbs = bytes_done / (td->runtime_ns / NSEC_PER_SEC) / 1e9; +	secs = td->runtime_ns / NSEC_PER_SEC; +	td->speed_gbs = secs ? bytes_done / secs / 1e9 : 0;  	getrusage(RUSAGE_THREAD, &rusage);  	td->system_time_ns = rusage.ru_stime.tv_sec * NSEC_PER_SEC; |