Re: [RFC][PATCH 3/9] perf: export registerred pmus via sysfs

From: Ingo Molnar
Date: Tue May 11 2010 - 05:32:27 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Tue, 2010-05-11 at 11:18 +0200, Ingo Molnar wrote:
> > * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > > The new PMUs will use a dynamic range that starts at PERF_TYPE_MAX.
> >
> > I dont think we should use a dynamic range of event sources - it's a
> > completely useless indirection that has no meaning to humans.
> >
> > As far as machine interfaces go a much cleaner approach would be to allow an
> > open fd to a sysfs file to be passed to sys_perf_event_open() - this would
> > identify the event source. This needs a small extension of the ABI but we
> > could thus get rid of the 'type' enumeration altogether and express _all_
> > event sources via fds to sysfs files.
>
> Whatever, that's almost identical. [...]

It's not identical: as we dont expose our mapping structure externally and
dont have to have some dynamic type ID allocation layer/mechanism. Also, using
fds is an elegant, Linuxish way of expressing some object's identity and
passing it along.

( It also removes the possibility to intentionally or accidentally have type
IDs that are not reachable via the sysfs and vica verse. )

> [...] What we can do is reserve perf_event_attr::type with bit 31 set for
> fd's and use the fd->file lookup instead of the type->pmu lookup.

Yeah, that sounds good.

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/