rpms/kernel/F-10 linux-2.6-x86-workaround-failures-on-intel-atom.patch, NONE, 1.1.2.1 kernel.spec, 1.1206.2.65, 1.1206.2.66

Chuck Ebbert cebbert at fedoraproject.org
Thu May 21 00:51:14 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv739

Modified Files:
      Tag: private-fedora-10-2_6_27
	kernel.spec 
Added Files:
      Tag: private-fedora-10-2_6_27
	linux-2.6-x86-workaround-failures-on-intel-atom.patch 
Log Message:
Add workaround for Intel Atom erratum AAH41 (#499803)

linux-2.6-x86-workaround-failures-on-intel-atom.patch:

--- NEW FILE linux-2.6-x86-workaround-failures-on-intel-atom.patch ---
From: Ingo Molnar <mingo at elte.hu>
Date: Tue, 10 Mar 2009 21:31:03 +0000 (+0100)
Subject: x86: work around Fedora-11 x86-32 kernel failures on Intel Atom CPUs
X-Git-Tag: v2.6.29-rc8~27^2
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=211b3d03c7400f48a781977a50104c9d12f4e229

[Trivial backport to 2.6.27 by cebbert at redhat.com]

x86: work around Fedora-11 x86-32 kernel failures on Intel Atom CPUs

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>
---

diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 7be47d1..7233bd7 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -515,6 +515,17 @@ static int split_large_page(pte_t *kpte, unsigned long address)
 	ref_prot = pte_pgprot(pte_mkexec(pte_clrhuge(*kpte)));
 	pgprot_val(ref_prot) |= _PAGE_PRESENT;
 	__set_pmd_pte(kpte, address, mk_pte(base, ref_prot));
+
+	/*
+	 * Intel Atom errata AAH41 workaround.
+	 *
+	 * The real fix should be in hw or in a microcode update, but
+	 * we also probabilistically try to reduce the window of having
+	 * a large TLB mixed with 4K TLBs while instruction fetches are
+	 * going on.
+	 */
+	__flush_tlb_all();
+
 	base = NULL;
 
 out_unlock:


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1206.2.65
retrieving revision 1.1206.2.66
diff -u -p -r1.1206.2.65 -r1.1206.2.66
--- kernel.spec	20 May 2009 22:49:50 -0000	1.1206.2.65
+++ kernel.spec	21 May 2009 00:50:44 -0000	1.1206.2.66
@@ -588,6 +588,7 @@ Patch20: linux-2.6-hotfixes.patch
 Patch21: linux-2.6-utrace.patch
 Patch22: linux-2.6-x86-tracehook.patch
 Patch23: linux-2.6.27-x86-tracehook-syscall-arg-order.patch
+Patch24: linux-2.6-x86-workaround-failures-on-intel-atom.patch
 
 Patch41: linux-2.6-sysrq-c.patch
 
@@ -1146,6 +1147,9 @@ ApplyPatch linux-2.6-utrace.patch
 ApplyPatch linux-2.6-x86-tracehook.patch
 ApplyPatch linux-2.6.27-x86-tracehook-syscall-arg-order.patch
 
+# work around atom errata
+ApplyPatch linux-2.6-x86-workaround-failures-on-intel-atom.patch
+
 # enable sysrq-c on all kernels, not only kexec
 ApplyPatch linux-2.6-sysrq-c.patch
 
@@ -1997,6 +2001,9 @@ fi
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Wed Apr 20 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.27.24-170.2.66
+- Add workaround for Intel Atom erratum AAH41 (#499803)
+
 * Wed Apr 20 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.27.24-170.2.65
 - Allow building the F-10 2.6.27 kernel on F-11.
 




More information about the scm-commits mailing list