Messages in this thread | | | Date | Wed, 16 Oct 2013 14:46:27 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH v2 0/3] perf,x86: add Intel RAPL PMU support |
| |
So, the RAPL patch-set clearly needs more work.
* Borislav Petkov <bp@alien8.de> wrote:
> On Thu, Oct 10, 2013 at 04:50:05PM +0200, Stephane Eranian wrote: > > $ perf stat -a -e rapl/rapl-energy-cores/,rapl/rapl-energy-pkg/ -I 1000 sleep 10 > > time counts events > > 1.000345931 772 278 493 rapl/rapl-energy-cores/ > > 1.000345931 55 539 138 560 rapl/rapl-energy-pkg/ > > 2.000836387 771 751 936 rapl/rapl-energy-cores/ > > 2.000836387 55 326 015 488 rapl/rapl-energy-pkg/
Why is there the rapl/rapl duplication in the event name? It should be rapl/energy-cores, rapl/energy-pkg, etc.
I'm also not sure about the Intel-specific naming. Joules per core and Joules per socket ought to be pretty generic, even if the initial implementation is Intel-only. I.e.:
power/energy-core power/energy-pkg
> Hmm, so I'm looking at builtin-stat.c::print_interval() and since it > gets the perf_evsel counters and you can deduce the counter name from > it, you probably could match the rapl counters and do the Watts > conversion above as a special case. > > I dunno, it is much better than having some naked numbers for which > people have to go stare at the sources + CPU vendor docs as to what they > actually mean.
So what should happen here is to extend the sysfs attributes that tell us that it's in 32.32 fixed-point format.
We should also tell user-space that the unit of this counter is 'Joule'.
Then things like:
perf stat -a -e power/* sleep 1
would output, without knowing any RAPL details:
0.20619 Joule power/energy-core 2.42151 Joule power/energy-pkg
or so.
Other platforms offering energy measurement facilities will then name their counters in the same power/* (or energy/*) namespace, with new names if they do something fundamentally differently.
Tooling can then generalize along these abstractions, as much as the hardware allows it.
Thanks,
Ingo
| |