Re: [PATCH] POWER: perf_event: Skip updating kernel counters ifregister value shrinks

From: Eric B Munson
Date: Thu Apr 07 2011 - 12:16:19 EST


On Thu, 07 Apr 2011, Benjamin Herrenschmidt wrote:

>
> > > Doesn't that mean that power_pmu_read() can only ever increase the value of
> > > the perf_event and so will essentially -stop- once the counter rolls over ?
> > >
> > > Similar comments every where you do this type of comparison.
> > >
> > > Cheers,
> > > Ben.
> >
> > Sorry for the nag, but am I missing something about the way the register and
> > the previous values are reset in the overflow interrupt handler?
>
> Well, not all counters get interrupts right ? Some counters are just
> free running... I'm not sure when that power_pmu_read() function is
> actually used by the core, I'm not that familiar with perf, but I'd say
> better safe than sorry. When comparing counter values, doing in a way
> that is generally safe vs. wraparounds. Eventually do a helper for that.
>
> Cheers,
> Ben.

I am honestly not sure, I was under the assumption that all counters would
generate an interrupt if they overflowed. I do not have the hardware docs to
prove this, so I will have a V3 that (I think/hope) addresses your concerns out
momentarily.

Eric

Attachment: signature.asc
Description: Digital signature