Messages in this thread | | | Subject | Re: [PATCH 04/10] perf, x86: Making hardware events translations available in sysfs | From | Peter Zijlstra <> | Date | Wed, 04 Jul 2012 12:28:58 +0200 |
| |
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.
| |