lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ