question regarding -D flag in perf stat
From: Aravind Gopalakrishnan
Date: Wed Jan 14 2015 - 17:50:56 EST
Hi all,
I had a question regarding the intention of the -D flag after looking at
perf stat numbers of the following workload:
main(){
int a=5, b=6;
int i;
#pragma omp for schedule(dynamic)
for (i=0; i<10000000; i++){
b=b+a;
}
return 0;
}
_Stats without delay:_
# perf stat -e cycles,instructions,cpu-clock,task-clock ../../test/a.out
Performance counter stats for '../../test/a.out':
203,581,363,567 cycles # 1.500 GHz
7,563,983,198 instructions # 0.04 insns per cycle
135721.617844 cpu-clock (msec)
135721.600586 task-clock (msec) # *5.985 CPUs utilized*
22.678577620 seconds time elapsed (run time)
_Stats with delay of 10 seconds:_
# perf stat -D 10000 -e cycles,instructions,cpu-clock,task-clock
../../test/a.out
b=363264281
Performance counter stats for '../../test/a.out':
112,134,813,161 cycles # 1.500 GHz
4,461,136,761 instructions # 0.04 insns per cycle
74757.386789 cpu-clock (msec)
74757.317781 task-clock (msec) # *3.324 CPUs utilized*
22.490237094 seconds time elapsed**(run time)*(delay time is not
excluded here)*
The issue is that CPU utilization is calculated as
task-clock/total-runtime which in the case of no delay is fine.
But for the delay case, the total run time should exclude the delay
time. Right?
(and as a consequence, utilization would be calculated exclusive of the
delay time which would give us CPU utilization only for the period
during which perf actually collects info)
Or is this the way -D flag is intended to work?
Thanks for the clarifications,
-Aravind.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/