Re: [RFC] [PATCH] perf: Attaching an event to a specific PMU

From: Ingo Molnar
Date: Wed Jul 06 2011 - 13:10:30 EST



* Robert Richter <robert.richter@xxxxxxx> wrote:

> On 05.07.11 05:12:52, Ingo Molnar wrote:
> >
> > * Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> 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...

Because /sys is already there and already carries rather rich
classification of various hardware components, devices and kernel
subsystems.

/dev/ is mostly a flat registry of classical, unstructured devices.

> 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).

I think Peter suggested it that an open() done in /sys should give us
a handle to a given event?

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

But PMU is a very limited term: what we want is a higher level
organization of 'event sources' and 'events'. Some may come from
PMUs, many wont.

Thanks,

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