lkml.org 
[lkml]   [2010]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] x86: fix duplicate calls of the nmi handler
    From
    Date
    On Fri, 2010-09-17 at 01:42 +0800, Peter Zijlstra wrote:
    > On Fri, 2010-09-10 at 17:56 +0200, Robert Richter wrote:
    > > The commit:
    > >
    > > e40b172 x86: Move notify_die from nmi.c to traps.c
    > >
    > > moved the nmi handler call to default_do_nmi(). DIE_NMI_IPI and
    > > DIE_NMI are called subsequently now. If the return code is
    > > !NOTIFY_STOP, then the handlers are called twice. This patch fixes
    > > this.
    >
    > What is this NMI_IPI thing, and why do we bother?
    >
    > If the hardware reason thin can discriminate between IPI and other NMIs
    > we should never call both chains, if it cannot, why do we have 2 chains?
    >
    > In any case, I don't think perf/oprofile/etc,. should use NMI_IPI, that
    > doesn't really make sense.
    >
    > Or am I totally confused about things here?

    Please take a look at my recent patch that rewrites the NMI handler.
    Where NMI are divided into two types. CPU specific NMI are processed
    firstly as DIE_NMI_IPI, and non-CPU specific NMI are processed as
    DIE_NMI.

    CPU specific NMIs include perf event, oprofile, crash, etc. They can be
    processed on specific CPU only.

    non-CPU specific NMIs include SERR and IOCHK NMI (via checking port
    0x61) and APEI GHES NMI. They can be processed on any CPU.

    Best Regards,
    Huang Ying




    \
     
     \ /
      Last update: 2010-09-17 02:15    [W:0.038 / U:29.940 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site