Messages in this thread | | | Subject | Re: [PATCH v2 6/6] perf tool: Parse general/raw events from sysfs | From | Lin Ming <> | Date | Sun, 07 Aug 2011 07:38:08 +0800 |
| |
On Sun, 2011-08-07 at 04:10 +0800, Stephane Eranian wrote: > Hi, > > On Fri, Jul 15, 2011 at 7:35 AM, Lin Ming <ming.m.lin@intel.com> wrote: > > PMU can export general events to sysfs, for example, > > > > /sys/bus/event_source/devices/uncore/events > > └── cycle > > > > Then specify the event as <pmu>:<event>, > > > > $ sudo perf stat -a -C 0 -e uncore:cycle > > I think this event syntax should be adjusted a bit. > > How would the tool differentiate: > perf stat -e uncore:cycle > form: > perf stat -e cycle:u > > It would have to scan sysfs for a 'cycle' PMU and conclude > there is none, then resolve the 'cycle' event name. And if > you're unlucky and you have a event name that matches > the PMU name, you get into troubles. > > I think, one could instead do: > > perf stat -e uncore::cycle:k > > That way, by virtue of the '::' separator, the tool would know > that it needs to first look into sysfs for an 'uncore' PMU, then > it needs to look for the 'cycle' event.
Yes, I like this '::' separator too. Will update to use it.
> > I also use the '::' notation in libpfm4 to separate the PMU model > form the event+umask+modifiers. > > I also suspect that with this sysfs interface for PMU models, you > would simply add a number to differentiate each instance of a PMU. > So for GPU, you would do: > perf stat -e gfx0::cycles > > Is that right?
A number or other thing is OK.
int perf_pmu_register(struct pmu *pmu, char *name, int type) will be called to register a PMU.
So I think any name that can differentiate each instance is OK.
Adding a number looks like the easiest way.
Thanks, Lin Ming
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |