Re: [RFC][PATCH v2 06/11] perf: core, export pmus via sysfs

From: Lin Ming
Date: Tue May 18 2010 - 22:35:55 EST


On Wed, 2010-05-19 at 04:05 +0800, Greg KH wrote:
> On Wed, May 19, 2010 at 01:46:42AM +0000, Lin Ming wrote:
> > Now only exports cpu hardware events.
> >
> > For each PMU, there are 2 sysfs dirs: event_source and events.
> >
> > For example,
> > /sys/devices/system/cpu/event_source/
> > /sys/devices/system/cpu/events/
> >
> > $ tree /sys/devices/system/cpu/event_source/
> > /sys/devices/system/cpu/event_source/
> > `-- id
> >
> > $ tree /sys/devices/system/cpu/events/
> > /sys/devices/system/cpu/events/
> > |-- L1-dcache-load-misses
> > | |-- event_source -> ../../event_source
>
> What is this symlink for? Is it needed as they all seem to point to the
> same thing.

The symlink is used to find the "event_source" of the "event".

/sys/devices/system/cpu/event_source/

/sys/devices/system/cpu/events/
|-- L1-dcache-load-misses
| |-- event_source -> ../../event_source

For above example, "event_source" is the cpu pmu and the "event" is
L1-dcache-load-misses.

Yes, they point to the same thing, because all the events
under /sys/devices/system/cpu/events/* is monitored by the same event
source, ie, the cpu pmu(/sys/devices/system/cpu/event_source/).

>
> Also, as you are trying to add new sysfs interfaces, please document
> them in Documentation/ABI.

Will add the document.

>
> And, do you have to use "raw" kobjects here? Any chance you can use a
> struct device instead?

Let me think about this.

>
> I'm still not really understanding what exactly you are trying to show
> in the sysfs tree here anyway, perhaps the documentation update will
> clear that up for me.

To support multiple pmus(or call them event source), I want to show all
the pmus and events in the sysfs tree.

For cpu pmu,
/sys/devices/system/cpu/event_source/*
/sys/devices/system/cpu/events/*

For node pmu,
/sys/devices/system/node/event_source/*
/sys/devices/system/node/events/*

For mce,
/sys/kernel/events/mce/*

and so on...the exact placement is not yet final.

Thanks,
Lin Ming

>
> thanks,
>
> greg k-h

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