Re: [PATCH] perf, x86: catch spurious interrupts after disablingcounters

From: Frederic Weisbecker
Date: Thu Sep 16 2010 - 10:51:48 EST


On Thu, Sep 16, 2010 at 12:27:12AM +0200, Robert Richter wrote:
> > On Wed, Sep 15, 2010 at 10:21:10PM +0200, Stephane Eranian wrote:
> > > When you do perf record foo, it's equivalent to
> > > perf record -e cycles:uk -F 1000 foo
>
> Yes, thanks.
>
> I am asking because I have observed up to 4 back-to-back nmis from the
> same counter when enabling an event. The period is not yet adjusted.
> We should avoid those short sampling periods in the beginning and
> better start with too long periods. Didn't look at the implementation
> so far. I know this is not easy to handle because this very much
> depends on the event we measure.
>
> Maybe we start the counter with a delay and then calculate period =
> duration - delay, later decreasing the delay until the frequency is
> adjusted but keeping the total sampling rate more or less constant.


Yep, IIRC, the first arming is set with a 1 sample period. So that a first
calculation can be made on top of the first triggering event time to get
a better sample period. That avoids the need to start with frequency
nature assumptions for each event.

I doubt that can be worked around easily.

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