Re: [PATCH 2/4] perf_event: add PERF_COUNT_HW_REF_CPU_CYCLES genericPMU event

From: Ingo Molnar
Date: Mon Dec 12 2011 - 12:45:29 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Sun, 2011-12-11 at 00:28 +0100, Stephane Eranian wrote:
> > This event counts the number of reference core cpu cycles.
> > Reference means that the event increments at a constant rate which
> > is not subject to core CPU frequency adjustments. The event may
> > not count when the processor is in halted (low power) state.
> > As such, it may not be equivalent to wall clock time. However,
> > when the processor is not halted state, the event keeps
> > a constant correlation with wall clock time.
> >
> > Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
> > ---
> > include/linux/perf_event.h | 1 +
> > 1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> > index 564769c..0885561 100644
> > --- a/include/linux/perf_event.h
> > +++ b/include/linux/perf_event.h
> > @@ -54,6 +54,7 @@ enum perf_hw_id {
> > PERF_COUNT_HW_BUS_CYCLES = 6,
> > PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,
> > PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,
> > + PERF_COUNT_HW_REF_CPU_CYCLES = 9,
> >
> > PERF_COUNT_HW_MAX, /* non-ABI */
> > };
>
> Does it make sense to add this to the 'generic' events? Are
> other archs going to use this?
>
> That is, I already queued patch 1, I'm just wondering if the
> generic bit makes sense, Even BUS_CYCLES seems to be a
> questionable 'generic' event, but that's history and we can't
> fix it.

If we named it in a generic way, with a generic,
platform-independent meaning behind it, then it shouldn't be a
problem. This is why i suggested naming it 'constant CPU cycles'
- or 'constant freq cycles' or a variant of that.

Thanks,

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/