[PATCH 0/1] x86: work around X86-32 kernel failures on Intel Atom CPU

Colin King colin.king at canonical.com
Wed Feb 17 13:44:07 UTC 2010


From: Colin Ian King <colin.king at canonical.com>

*** HARDY LPIA ONLY ***

BugLink: https://bugs.launchpad.net/bugs/523112

This is a workaround to errata AAE44 as listed in
http://download.intel.com/design/processor/specupdt/319536.pdf,
page 33, namely: "Code Fetch May Occur to Incorrect Address
After a Large Page is Split into 4-KB Byte Pages". This is the same
as Errata AAH41 (Atom 3xx series) but named AAE44 for the Atom
Z5xx series.

This fix is not totally bullet proof. There is still a possibility
of a race between __set_pmd_pte and __flush_tlb_all() during which
the other hyperthread could do a code fetch and get garbage. Hence
this patch narrows the window for the race but does not completely
prevent it.

This patch has been soak tested on an Atom Z530 for 2 hours. Without 
this patch, the soak test can reproduce an oops within 5 minutes of
testing.

Also boot tested on two Atom N270 netbooks and Intel 


This patch is a backport of the upstream commit
211b3d03c7400f48a781977a50104c9d12f4e229, the original commit message
was as follows:

Impact: work around boot crash

Work around Intel Atom erratum AAH41 (probabilistically) - it's triggering
in the field.

Reported-by: Linus Torvalds <torvalds at linux-foundation.org>
Tested-by: Kyle McMartin <kyle at redhat.com>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
Signed-off-by: Colin Ian King <colin.king at canonical.com>


Colin Ian King (1):
  UBUNTU: x86: work around X86-32 kernel failures on Intel Atom CPU

 arch/x86/mm/pageattr_32.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)





More information about the kernel-team mailing list