Re: [RFC][PATCH] perf: sysfs type id

From: Peter Zijlstra
Date: Wed Nov 10 2010 - 09:19:47 EST


On Wed, 2010-11-10 at 15:10 +0100, Peter Zijlstra wrote:
> On Wed, 2010-11-10 at 14:01 +0100, Stephane Eranian wrote:
> > Peter,
>
> > > 6
> >
> > And then, what do you do with 6?
> > I assume you have to pass it in the attr struct.
>
> perf_event_attr::type, as said in the initial changelog.
>
> > How do you plan on doing this while keeping what is already there?
>
> + if (type < 0) {
> + err = idr_get_new_above(&pmu_idr, pmu, PERF_TYPE_MAX, &type);
>
> and
>
> + rcu_read_lock();
> + pmu = idr_find(&pmu_idr, event->attr.type);
> + rcu_read_unlock();
> + if (pmu)
> + goto unlock;
>
>
> So we start dynamic IDs at the top of the static range, and only do
> dynamic IDs for those that don't already have a static number.

Also note that I picked:

+ perf_pmu_register(&pmu, "cpu", PERF_TYPE_RAW);

as the CPU type, since we can easily provide the raw values in any
listed events, eg.

# cat /sys/.../cpu/events/cycles
0x003c


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