lkml.org 
[lkml]   [2006]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [BUG sparc64] 2.6.16-git6 broke X11 on Ultra5 with ATI Mach64
On Thu, 27 Jul 2006 20:38:59 -0700 (PDT), David Miller wrote:
>I just confirmed that this is working properly with a debugging
>patch included below.
>
>Mikael, can you put this debugging patch into a kernel that exhibits
>the problem and post all the "FAULT: " debugging messages that appear
>in your kernel log when the problem happens?
>
>Thanks a lot.
>
>diff --git a/mm/memory.c b/mm/memory.c
>index 109e986..b129ae4 100644
>--- a/mm/memory.c
>+++ b/mm/memory.c
>@@ -2270,6 +2270,12 @@ static inline int handle_pte_fault(struc
> spinlock_t *ptl;
>
> old_entry = entry = *pte;
>+#if 1
>+ if (pte_val(old_entry) & _PAGE_E_4U) {
>+ printk("FAULT: write(%d) old_entry[%016lx]\n",
>+ write_access, pte_val(old_entry));
>+ }
>+#endif
> if (!pte_present(entry)) {
> if (pte_none(entry)) {
> if (!vma->vm_ops || !vma->vm_ops->nopage)
>@@ -2311,6 +2317,12 @@ static inline int handle_pte_fault(struc
> flush_tlb_page(vma, address);
> }
> unlock:
>+#if 1
>+ if (pte_val(old_entry) & _PAGE_E_4U) {
>+ printk("FAULT: After, entry[%016lx]\n",
>+ pte_val(entry));
>+ }
>+#endif
> pte_unmap_unlock(pte, ptl);
> return VM_FAULT_MINOR;
> }

Sure. Here's what 2.6.18-rc2 (vanilla) prints when I start X:

FAULT: write(1) old_entry[800001ffe2000788]
FAULT: After, entry[800001ffe2000f8a]
FAULT: write(1) old_entry[800001ffe2000788]
FAULT: After, entry[800001ffe2000f8a]
FAULT: write(1) old_entry[800001ffe2000788]
FAULT: After, entry[800001ffe2000f8a]
FAULT: write(1) old_entry[800001ffe2000788]
FAULT: After, entry[800001ffe2000f8a]
FAULT: write(1) old_entry[800001ffe2000788]
FAULT: After, entry[800001ffe2000f8a]
FAULT: write(1) old_entry[800001ffe13fe788]
FAULT: After, entry[800001ffe13fef8a]
FAULT: write(1) old_entry[e00001ffe1978788]
FAULT: After, entry[e00001ffe1978f8a]
FAULT: write(1) old_entry[e00001ffe1970788]
FAULT: After, entry[e00001ffe1970f8a]
FAULT: write(1) old_entry[e00001ffe1970f8a]
FAULT: After, entry[e00001ffe1970f8a]
FAULT: write(1) old_entry[e00001ffe1970f8a]
FAULT: After, entry[e00001ffe1970f8a]

The last two lines then repeat semi-infinitely, and they
were generated at an extremely high rate.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-07-28 12:39    [W:0.068 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site