Re: [RFC][PATCH 05/11] perf: register pmu implementations

Peter Zijlstra
2010-07-09T08:15:24Z

On Fri, 2010-07-09 at 13:08 +1000, Paul Mackerras wrote:

> > -struct pmu *hw_perf_event_init(struct perf_event *event)
> > +static in sh_pmu_event_init(struct perf_event *event)
>
> int?

Argh, I fixed that a few times, but the hunk keeps slipping into
different patches.. cured.

> > {
> > int err = __hw_perf_event_init(event);
>
> We need a switch on event->attr.type so we return -ENOENT if it's
> not PERF_TYPE_{HARDWARE,HW_CACHE,RAW}. As it is we don't ever return
> -ENOENT, which might stop software and tracepoint events from working.

Aaah, indeed! That is why Matt's perf record broke, perf record defaults
to -e cycles which automagically falls back to a software timer, which
then doesn't work.