Re: [PATCH v2 0/3] perf,x86: add Intel RAPL PMU support
From: Arnaldo Carvalho de Melo
Date: Tue Oct 22 2013 - 18:18:45 EST
Em Tue, Oct 22, 2013 at 06:47:38PM +0200, Stephane Eranian escreveu:
> I have updated my RAPL patches to implement the suggested changes.
> I will post the patch very soon. The new look and feel is as folllows:
> # perf stat -a -e power/energy-cores/,power/energy-pkg/,ref-cycles -I
> 1000 sleep 1000
> # time unit counts events
> 1.000264953 Joules 2.09 power/energy-cores/
> [100.00%]
> 1.000264953 Joules 5.94 power/energy-pkg/
> 1.000264953 160,530,320 ref-cycles
> 2.000640422 Joules 2.07 power/energy-cores/
> 2.000640422 Joules 5.94 power/energy-pkg/
> 2.000640422 152,673,056 ref-cycles
> 3.000964416 Joules 2.08 power/energy-cores/
> 3.000964416 Joules 5.93 power/energy-pkg/
> 3.000964416 158,779,184 ref-cycles
What about:
# perf stat -a -e power/energy-cores/,power/energy-pkg/,ref-cycles -I 1000 sleep 1000
# time events
1.000264953 2.09 Joules power/energy-cores/
1.000264953 5.94 Joules power/energy-pkg/
1.000264953 160,530,320 ref-cycles
2.000640422 2.07 Joules power/energy-cores/
2.000640422 5.94 Joules power/energy-pkg/
2.000640422 152,673,056 ref-cycles
3.000964416 2.08 Joules power/energy-cores/
3.000964416 5.93 Joules power/energy-pkg/
3.000964416 158,779,184 ref-cycles
?
Or even 2.09J power/energy-cores/?
I.e. a perf_evsel__fprintf_value(evsel) would append a unit string, if
available.
- Arnaldo
>
> # ls -1 /sys/devices/power/events/
> energy-cores
> energy-cores.scale
> energy-cores.unit
> energy-pkg
> energy-pkg.scale
> energy-pkg.unit
>
> # cat /sys/devices/power/events/energy-cores.scale
> 2.3e-10
> # cat /sys/devices/power/events/energy-cores.unit
> Joules
>
> Of course, this unit and scaling support is generic and not limited
> to the RAPL events. For now, this only works with events exported
> by the kernel via sysfs.
>
>
>
> On Thu, Oct 17, 2013 at 10:14 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > * Stephane Eranian <eranian@xxxxxxxxxx> wrote:
> >
> >> On Wed, Oct 16, 2013 at 7:53 PM, Arnaldo Carvalho de Melo
> >> <acme@xxxxxxxxxx> wrote:
> >> > Em Wed, Oct 16, 2013 at 03:13:54PM +0200, Stephane Eranian escreveu:
> >> >> On Wed, Oct 16, 2013 at 2:46 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >> >> > 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
> >> >> >
> >> >> Not sure there is already some support for this in perf stat. Arnaldo?
> >> >
> >> > Nope, there is not, we would have to have some table somewhere with
> >> > "event-regexp: unit-string"
> >> >
> >> >> If not that we need another sysfs file to export the unit. Another
> >> >> possibility is for perf stat to recognize the power/* and extract the
> >> >> unit from the event name. In my example power/joules-cores -> joules.
> >> >
> >> > I.e. you would be encoding the counter unit as the suffix, might as well
> >> > call it "power/cores.joules" and use the dot as the separator for the
> >> > unit, but would be just a compact form to encode the counter->unit
> >> > table.
> >>
> >> May be easier to add a sysfs entry with the unit to display.
> >
> > Yes - with no entry meaning a raw 'count' or such.
> >
> > Thanks,
> >
> > Ingo
--
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/