Re: [PATCH -v3] perf, x86: try to handle unknown nmis with running perfctrs

Robert Richter
2010-08-26T09:02:08Z

On 25.08.10 16:11:06, Don Zickus wrote:
> > cpu #15, nmi #160, marked #0, handled = 1, time = 333392635730, delta = 11238255
> > cpu #15, nmi #161, marked #0, handled = 1, time = 333403779380, delta = 11143650
> > cpu #15, nmi #162, marked #0, handled = 1, time = 333415418497, delta = 11639117
> > cpu #15, nmi #163, marked #0, handled = 1, time = 333415467084, delta = 48587
> > cpu #15, nmi #164, marked #0, handled = 1, time = 333415501531, delta = 34447
> > cpu #15, nmi #165, marked #0, handled = 1, time = 333459918106, delta = 44416575
> > cpu #15, nmi #166, marked #0, handled = 0, time = 333459923167, delta = 1666
> > cpu #15, nmi #151, marked #0, handled = 1, time = 332978597882, delta = 11447002
> > cpu #15, nmi #152, marked #0, handled = 1, time = 332978657151, delta = 59269
> > cpu #15, nmi #153, marked #0, handled = 1, time = 332978667847, delta = 10696
> > cpu #15, nmi #154, marked #0, handled = 1, time = 333023125757, delta = 44457910
> > cpu #15, nmi #155, marked #0, handled = 1, time = 333291980833, delta = 268855076
> > cpu #15, nmi #156, marked #0, handled = 1, time = 333325663125, delta = 33682292
> > cpu #15, nmi #157, marked #0, handled = 1, time = 333348216481, delta = 22553356
> > cpu #15, nmi #158, marked #0, handled = 1, time = 333370168887, delta = 21952406
> > cpu #15, nmi #159, marked #0, handled = 1, time = 333381397475, delta = 11228588
> > Uhhuh. NMI received for unknown reason 00 on CPU 15.
> > Do you have a strange power saving mode enabled?
> > Dazed and confused, but trying to continue
>
> So I found a Nehalem box that can reliably reproduce Ingo's problem using
> something as simple 'perf top'. But like above, I am noticing the
> samething, an extra NMI(PMI??) that comes out of nowhere.

This could also be a race in the counter handling code, or we do not
proper count the number of handled counters. Maybe 2 counters actually
fired but we only noticed one counter and then accidentially cleared
the 2nd without processing it.

-Robert

--
Advanced Micro Devices, Inc.
Operating System Research Center