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

Peter Zijlstra
2010-08-27T08:11:40Z

On Fri, 2010-08-27 at 09:57 +0200, Robert Richter wrote:
> On 26.08.10 14:02:50, Cyrill Gorcunov wrote:
> > > diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c
> > > index 4539b4b..9e65a7b 100644
> > > --- a/arch/x86/kernel/cpu/perf_event_intel.c
> > > +++ b/arch/x86/kernel/cpu/perf_event_intel.c
> > > @@ -777,7 +777,9 @@ again:
> > >
> > > done:
> > > intel_pmu_enable_all(0);
> > > - return handled;
> > > + if (!handled)
> > > + return handled;
> > > + return ++handled;
> > > }
> > >
> > > static struct event_constraint *
> > >
> >
> > ok, it seems it just treat any unknown nmi as being came from PMU, no?
>
> Yes, this just throws away all unknown nmis after a perf nmi. It
> disables unknown nmi detection on this cpu type.

Wouldn't returning 2 be more sensible, then it would only eat a few
unknowns after each pmi? (Still assuming you return 0 when there really
was nothing to do)