[RFC] Extending ARM perf-events for multiple PMUs
Ming Lei
tom.leiming at gmail.com
Tue Apr 12 07:12:18 EDT 2011
Hi Peter,
2011/4/12 Peter Zijlstra <peterz at infradead.org>:
> On Tue, 2011-04-12 at 15:39 +0800, Ming Lei wrote:
>> > I just haven't figured out a way to dynamically add files/directories
>>
>> Seems not very difficult, we have pmu_bus already, so introduce the
>> .match to find driver according device name, then implement a
>> driver for the pmu device to add this needed attributes(files).
>
> It probably isn't very hard, but I'm not sysfs/driver skilled and
> haven't been able to put a lot of time in.
>
>> > in the whole struct device sysfs muck (that also pleases the
>> > driver/sysfs folks). Nor have we agreed on a sane layout for such
>> > events there.
>>
>> You mean we can find this event names here and pass them to perf -e ?
>
> That's the purpose yes. The intermediate problem is how to represent
> these events in the sysfs hierarchy such that not every pmu
> implementation does it differently.
How about the below idea?
- for each pmu device, one attribute group(directory) named as 'events'
is created to accommodate all events this pmu can handle, such as:
/sys/devices/cpu/events/ for pmu of 'cpu'
- perf_pmu_register will populate all events that this pmu can handle under
the directory of 'events' using information from the defined pmu instance
- 'perf' utility can get all events for each pmu by walking the
directory of
'events' for all pmu devices, which can be got from
'/sys/bus/event_source/devices'.
thanks,
--
Ming Lei
More information about the linux-arm-kernel
mailing list