[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090420053640.GU14687@one.firstfloor.org>
Date: Mon, 20 Apr 2009 07:36:40 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Hidetoshi Seto <seto.hidetoshi@...fujitsu.com>
Cc: Andi Kleen <andi@...stfloor.org>, hpa@...or.com,
linux-kernel@...r.kernel.org, mingo@...e.hu, tglx@...utronix.de
Subject: Re: [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@...ux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists