Messages in this thread | | | Subject | Re: [RFC PATCH 0/3] perf: show package power consumption in perf | From | Zhang Rui <> | Date | Fri, 20 Aug 2010 09:44:35 +0800 |
| |
On Thu, 2010-08-19 at 17:02 +0800, Peter Zijlstra wrote: > > > > > > > > - if it is a pure read-only counter without sampling support, > > > > expose it as such, don't fudge in the hrtimer stuff. Simply > > > > fail to create a sampling event. > > > > > > > > SH has the same problem for its 'normal' PMU, the solution is > > > > to use event groups, Matt was looking at adding support to > > > > perf-record for that, if creating a sampling event fails, fall > > > > back to {hrtimer, $event} groups. > > > > > > I had a quick look over the patches and Peter is right - the group > > > events stuff would probably fit quite well here. Unfortunately, due to > > > holidays and things, I haven't been able to get them finished > > > yet. I'll get on that ASAP. > > > > Hi, Matt > > > > What's the "group events stuff"? > > Is there some discussion on LKML or elsewhere I can have a look at? > > its some obscure perf feature: > > leader = sys_perf_event_open(&hrtimer_attr, pid, cpu, 0, 0); > sibling = sys_perf_event_open(&rapl_attr, pid, cpu, leader, 0); > > will create an even group (which means that both events require to be > co-scheduled). If you then provided: > > hrtimer_attr.read_format |= PERF_FORMAT_GROUP; > hrtimer_attr.sample_type |= PERF_SAMPLE_READ; > hrtimer_attr is only shared in an event group, and rapl needs its owen event group, right?
> the samples from the hrtimer will contain a field like: > > * { u64 nr; > * { u64 time_enabled; } && PERF_FORMAT_ENABLED > * { u64 time_running; } && PERF_FORMAT_RUNNING > * { u64 value; > * { u64 id; } && PERF_FORMAT_ID > * } cntr[nr]; > * } && PERF_FORMAT_GROUP > > Which contains both the hrtimer count (ns) and the RAPL count (watts). > > Using that you can compute the RAPL delta between consecutive samples > and use that to weight the sample. > > > For perf-stat non of this is needed, since it doesn't use sampling > counters anyway ;-).
so what do you think the rapl counter should look like in userspace? showing it in perf-stat looks nice, right? :)
thanks, rui
| |