lkml.org 
[lkml]   [2011]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC] [PATCH] perf: Attaching an event to a specific PMU
From
Date
On Wed, 2011-07-06 at 18:53 +0200, Robert Richter wrote:
> On 05.07.11 05:12:52, Ingo Molnar wrote:
> >
> > * Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> >
> > > > Overall, my approach improves the perf design. It adds a better
> > > > and more intuitve access to perf from user space with clear and
> > > > common methods and interfaces. Please let me know the concerns
> > > > you have.
> > >
> > > Its redundant, this interface ship has sailed, its not going to
> > > happen.
> >
> > Even if we had the choice, i don't see how a /dev based enumeration
> > of PMUs is in any way better than a topologically attached set of
> > PMUs in /sys.
> >
> > This kind of structure is nice in principle:
> >
> > # ls -l /dev/pmu/
> > total 0
> > crw-rw---- 1 root root 254, 5 Jul 8 2011 breakpoint
> > crw-rw---- 1 root root 254, 4 Jul 8 2011 cpu
> > crw-rw---- 1 root root 254, 6 Jul 8 2011 proto
> > crw-rw---- 1 root root 254, 1 Jul 8 2011 software
> > crw-rw---- 1 root root 254, 2 Jul 8 2011 tracepoint
> >
> > But it should be done in /sys/.
>
> I have to learn yet why /dev is bad and /sys is good...

Its not so much /dev is bad, as not quite suited for this.

> The system topology is always in /sys, also for device nodes. But we
> can't get a device file descriptor from /sys. I doubt /sys is capable
> to handle a device use count (need to be checked). We actually must
> grab the pmu while attaching events to it. And, user space
> implementation is must easier with /dev (see code in my previous
> mail).

Well you must not per-se, from a user's perspective there isn't much of
a difference between if the sys_perf_event_open() fails or if the
initial file open fails, in both cases he's not getting an event.

perf stat -e IBS:fetches will always have a fail against rmmod, rmmod
could complete before we try to open the file (assuming IBS is a
module).

>
> My patch also includes code that creates a device class. It is also
> visible in /sys/class/pmu/*.

So not only are you providing a duplicate of existing interfaces, you're
actually duplicating information inside sysfs as well.




\
 
 \ /
  Last update: 2011-07-06 19:15    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site