Commit:     34508f66b69ff1708192654f631eb8f1d4c52005
Parent:     65e074dffa198978ab0c9976a19b954fbe1183e2
Author:     Ingo Molnar <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 4 16:48:07 2008 +0100
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Mon Feb 4 16:48:07 2008 +0100

    x86: AMD Athlon X2 hard hang fix
    An Athlon 64 X2 test system showed hard hangs shortly after marking
    the kernel text read-only, if we tried to preserve largepages and
    changed the PSE entry from RW to RO. The pagetable code itself is
    correct, it's the CPU that locked up hard (and not even the NMI
    watchdog could punch through that hard hang).
    So be conservative and always do splitups - like we did in the past.
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
 arch/x86/mm/pageattr.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 40b7ac5..3810f7a 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -243,6 +243,17 @@ static int try_preserve_large_page(pte_t *kpte, unsigned 
long address,
        pgprot_t old_prot, new_prot;
        int level, res = CPA_SPLIT;
+       /*
+        * An Athlon 64 X2 showed hard hangs if we tried to preserve
+        * largepages and changed the PSE entry from RW to RO.
+        *
+        * As AMD CPUs have a long series of erratas in this area,
+        * (and none of the known ones seem to explain this hang),
+        * disable this code until the hang can be debugged:
+        */
+       if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
+               return res;
        spin_lock_irqsave(&pgd_lock, flags);
         * Check for races, another CPU might have split this page
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to