> I understand the value of the tsc and smi events. It is not
> clear to me what aperf/mperf buys you over cycles and ref-cycles:
> 
> $ perf stat -a -e msr/aperf/,msr/mperf/,cycles,ref-cycles -C 1 -I 1000 sleep 
> 10
> #           time             counts unit events
>      2.000361718         14,826,353      msr/aperf/
>      2.000361718         11,865,170      msr/mperf/
>      2.000361718         17,170,101      cycles
>      2.000361718         13,629,675      ref-cycles
> 
> Only the ratio aperf/mperf is defined, here 1.25 and the ratio
> cycles/ref-cycles is 1.25 as well. So what is a situation where
> aperf/mperf provides better info than cycles/ref-cycles?
> The SDM also says aperf/mperf only defined when running in C0 mode.

aperf/mperf excludes idle and it accounts for throttling and p-state
coordination. So it's a indicator how busy the CPU is while running.
That's why it is used as input to the p-state algorithm.

cycles/ref-cycles is just the core busy indicator related
to idle. That's a different metric.

Also we have PPERF now on some parts (productive performance count), 
but it also needs a ratio, so MPERF is needed to get the ratio.

BTW with the table driven scheme adding new MSRs is very cheap
(just a table entry usually) so there is little reason for not adding any.

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to