Messages in this thread | | | From | Andy Lutomirski <> | Date | Mon, 20 Jul 2015 23:01:38 -0700 | Subject | Re: [PATCH RFC V2 1/1] x86, perf: Add a freq pmu driver |
| |
On Mon, Jul 20, 2015 at 8:10 PM, Stephane Eranian <eranian@google.com> wrote: > On Mon, Jul 20, 2015 at 8:49 AM, Kan Liang <kan.liang@intel.com> wrote: >> From: Andy Lutomirski <luto@kernel.org> >> >> This patch adds freq PMU to support time and freq related counters >> includes TSC, IA32_APERF, IA32_MPERF and IA32_PPERF. >> >> The events are exposed in sysfs for use by perf stat and other tools. >> The files are under /sys/devices/freq/events/ >> >> These events only support system-wide mode counting. >> >> The PMU type (attr->type) is PERF_TYPE_FREQ. >> >> Example: >> >> To caculate the CPU% >> CPU_Utilization = CPU_CLK_UNHALTED.REF_TSC / TSC >> >> $ perf stat -e '{ref-cycles,freq/tsc/}' -C0 -- taskset -c 0 sleep 1 >> 3164023,,ref-cycles,1048387386,100.00 >> 2410812089,,freq/tsc/,1050022373,100.00 >> The CPU% for sleep is 0.13%. >> > This event is system-wide only. Thus, the kernel should return > an error when you try to use it in per-thread mode. That would > be more consistent with RAPL and uncore events.
I don't know enough about perf's inner workings to be sure, but can't perf context switch free-running counters like this?
--Andy
| |