lkml.org 
[lkml]   [2009]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] [1/28] x86: Fix panic with interrupts off (needed for MCE)
    On Mon, Apr 20, 2009 at 09:26:56AM +0900, Hidetoshi Seto wrote:
    > Andi Kleen wrote:
    > > I put the reboot vector into the highest priority bucket
    > > of the APIC vectors and moved the 64bit UV_BAU message
    > > down instead into the next lower priority.
    >
    > I had forgotten to point this...
    >
    > > @@ -88,12 +88,14 @@
    > > #define THERMAL_APIC_VECTOR 0xfa
    > >
    > > #ifdef CONFIG_X86_32
    > > -/* 0xf8 - 0xf9 : free */
    > > +/* 0xf9 : free */
    > > #else
    > > # define THRESHOLD_APIC_VECTOR 0xf9
    > > -# define UV_BAU_MESSAGE 0xf8
    > > #endif
    > >
    > > +#define REBOOT_VECTOR 0xf8
    > > +
    > > +
    > > /* f0-f7 used for spreading out TLB flushes: */
    > > #define INVALIDATE_TLB_VECTOR_END 0xf7
    > > #define INVALIDATE_TLB_VECTOR_START 0xf0
    > > @@ -116,6 +118,8 @@
    > > */
    > > #define GENERIC_INTERRUPT_VECTOR 0xed
    > >
    > > +#define UV_BAU_MESSAGE 0xec
    > > +
    > > /*
    > > * First APIC vector available to drivers: (vectors 0x30-0xee) we
    > > * start at 0x31(0x41) to spread out vectors evenly between priority
    >
    > Does this change (=pulling down the priority of UV_BAU_VECTOR) not impact
    > users of the UV_BAU_MESSAGE?

    I don't think UV_BAU_MESSAGE is really critical in that the world
    explodes if it gets processed a little later. AFAIK it's just
    used for user space TLB flushes. So putting it in a lower bucket
    is fine.

    BTW these priorities don't make too much difference anyways, it only
    helps slightly under livelock situations when a lot of messages
    are pending in the APIC. They're not a full spl like scheme.

    > I can see why REBOOT_VECTOR need to be highest priority.

    In theory a NMI would be be even better, but that has the usual
    problems with broken systems that don't handle NMIs properly.

    > Maybe you could pull down THERMAL_APIC_VECTOR/THRESHOLD_APIC_VECTOR
    > instead. Why you choose UV_BAU_MESSAGE?

    Thermal should probably stay in the high bucket too, but yes THRESHOLD_APIC
    could be used too.

    -Andi

    P.S.: This patch is imho a 2.6.30 candidate too, without it all panics
    with interrupts off (including all machimne checks) print ugly backtraces.
    This has been a regression since two releases or so.

    --
    ak@linux.intel.com -- Speaking for myself only.


    \
     
     \ /
      Last update: 2009-04-20 07:35    [W:0.023 / U:359.744 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site