Messages in this thread | | | Date | Thu, 23 Jul 2015 09:00:37 -0700 | Subject | Re: [PATCH RFC V2 1/1] x86, perf: Add a freq pmu driver | From | Stephane Eranian <> |
| |
On Thu, Jul 23, 2015 at 8:52 AM, Andy Lutomirski <luto@amacapital.net> wrote: > On Thu, Jul 23, 2015 at 8:44 AM, Stephane Eranian <eranian@google.com> wrote: >> 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. > > They're free-running and always on, which means that you can never > fail to schedule them. > You get the same with cycles and ref-cycles. They can both run on fixed-counters. So you can always schedule them. If you cannot, then it means you are already measuring them.
The only case I can see where there is a benefit is if you have a competing system-wide and per-thread sessions and the former is already using all the generic counters + fixed and you come in with a per-thread event to measure cycles or ref-cycles. That would be rejected but aperf/mperf would not. But that would only work if you are counting. There would be no benefits for sampling mode.
| |