Re: [PATCH v2 0/3] perf,x86: add Intel RAPL PMU support

From: Stephane Eranian
Date: Tue Oct 22 2013 - 12:47:44 EST


Hi,

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

# 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/