Re: [PATCH 04/10] perf, x86: Making hardware events translationsavailable in sysfs

From: Peter Zijlstra
Date: Wed Jul 04 2012 - 06:29:15 EST


On Wed, 2012-07-04 at 12:24 +0200, Peter Zijlstra wrote:
> On Wed, 2012-07-04 at 00:00 +0200, Jiri Olsa wrote:
> > +static struct attribute *events_attr[] = {
> > + &event_attr_cycles.attr,
> > + &event_attr_instructions.attr,
> > + &event_attr_cache_references.attr,
> > + &event_attr_cache_misses.attr,
> > + &event_attr_branch_instructions.attr,
> > + &event_attr_branch_misses.attr,
> > + &event_attr_bus_cycles.attr,
> > + &event_attr_stalled_cycles_frontend.attr,
> > + &event_attr_stalled_cycles_backend.attr,
> > + &event_attr_ref_cycles.attr,
> > + NULL,
> > +};
>
> Hmm, should we do:
>
> if (!config)
> return -EINVAL;
>
> or somesuch to clearly indicate an event isn't supported?
>
> Its currently a bit of a mixed bag between 0 and -1.. we might want to
> clean that up too.

Alternatively, we'd do something like:

for (i = 0; events_attr[i]; i++) {
if (x86_pmu.event_map(i))
continue;

for (j = i; events_attr[j]; j++)
events_attr[j] = events_attr[j+1];
}

On init to filter out all unset events so they don't even show up in
sysfs.


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