lkml.org 
[lkml]   [2010]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC][PATCH] perf: sysfs type id
From
Date
On Wed, 2010-11-10 at 21:53 +0100, Stephane Eranian wrote:
> On Wed, Nov 10, 2010 at 9:32 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> > On Wed, 2010-11-10 at 21:08 +0100, Stephane Eranian wrote:
> >> Would that be by passing the full filename to the tool?
> >
> > possible, or something like <pmu-name>:<event-name>, cpu:cycles would
> > map to /sys/class/pmu/cpu/events/cycles (given the previous patch).
> >
> >
> Ok, but I think you're proposal is missing one bit. You are addressing
> the class (or type) of PMU, but you are not addressing the naming of
> an instance.
>
> Let's take an example, suppose you have counters on a graphic card.
> Your system has two such graphic cards. In your scheme you would
> end up with a sys/class/pmu/gfx/.....
>
> But now, suppose I want to count cycles on the first graphic card.
> Seems to me you need to expose the instances as well. The instance
> number needs to be passed in the attr struct somehow.
>
> You can either create multiple subdir under gfx, or have this info somewhere
> else in the sysfs tree, if people really care about class vs. instance.
>
> I can see users doing:
> $ perf stat -e gfx@1::cycles ... -> sys/class/gfx/1/event/cycles
>
> The reason I am using :: here is because libpfm4 is already using
> this as a separator for PMU type vs. event.


right, so the idea is to have these pmu devices hooked into the existing
sysfs topology, my proposed patch misses that bit because I wanted to
get something out before having to dig through the topology code trying
to figure out how all that works.

So the 'cpu' pmu device would be linked from:

/sys/devices/system/cpu/pmu -> /sys/class/pmu/cpu

and gfx things would be linked like:

/sys/devices/pci0000:00/0000:00:1e.0/0000:0b:01.0/drm/card0/pmu -> /sys/class/pmu/radeon0




\
 
 \ /
  Last update: 2010-11-10 22:07    [W:0.143 / U:1.816 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site