lkml.org 
[lkml]   [2011]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -tip] perf, x86: fix unknown NMIs on a Pentium4 box
    On 04/14/2011 11:57 PM, Don Zickus wrote:
    > On Thu, Apr 14, 2011 at 11:43:25PM +0400, Cyrill Gorcunov wrote:
    >> On 04/14/2011 10:46 PM, Ingo Molnar wrote:
    >>>
    >>> btw., the bug went away once i removed your patch so it's 100% sure caused by
    >>> this change.
    >>>
    >>> Thanks,
    >>>
    >>> Ingo
    >>
    >> Ingo if you have a chance mind to give this patch a shot please? Seems we might miss unmasking
    >> for inflight nmis.
    >
    > I don't think this patch will work. It would make sense if the unmasking
    > happened _after_ the "if (!handled)" path, but that is not the path Ingo
    > wanted for v1.

    This thing happened if inflight nmi reaches the system and note that inflight
    NMI comes from perf and masks lvt entry, it has nothing to do with "handled" but
    rather the _fact_ that NMI reached apic via LVTPC and as result -- masked it.
    Don, I might be missin something, brain is slowly going to sleep :)

    >
    > Cheers,
    > Don
    >
    >> - apic_write(APIC_LVTPC, APIC_DM_NMI);
    >>
    >> handled = x86_pmu.handle_irq(args->regs);
    >> + apic_write(APIC_LVTPC, APIC_DM_NMI);
    >
    > ^^^^ all handled/unhandled NMIs hit that apic_write
    >> if (!handled)
    >> return NOTIFY_DONE;
    >>

    yeah, Ingo asked to make it this way -- ie like in your former
    patch, the conditional unmasking is left to be tested in further
    kernel series.

    --
    Cyrill


    \
     
     \ /
      Last update: 2011-04-14 22:07    [W:3.827 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site