Messages in this thread | | | Date | Fri, 28 Jul 2006 12:35:24 +0200 (MEST) | From | Mikael Pettersson <> | Subject | Re: [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/
| |