Debugging patch was Re: x86-64 bad pmds in 2.6.11.6 II

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Can people who can reproduce the x86-64 2.6.11 pmd bad  problem please apply
the following patch and see (a) if it can be still reprocuded with it 
and send the output generated. Also a strace of the program that showed
it (pid and name of it should be dumped) would be useful if not too big.

After staring some time at the code I cant find the problem, but 
I somehow suspect it has to do with early page table frees. That is
why they were disabled. This should not cause any memory leaks,
the page tables will be always freed at process exit, so it is
safe to apply even for production machines.

Thanks,

-Andi


diff -u linux-2.6.11/mm/memory.c-o linux-2.6.11/mm/memory.c
--- linux-2.6.11/mm/memory.c-o	2005-03-02 08:38:08.000000000 +0100
+++ linux-2.6.11/mm/memory.c	2005-04-22 19:32:30.305402456 +0200
@@ -94,6 +94,7 @@
 	if (pmd_none(*pmd))
 		return;
 	if (unlikely(pmd_bad(*pmd))) {
+		printk("%s:%d: ", current->comm, current->pid);
 		pmd_ERROR(*pmd);
 		pmd_clear(pmd);
 		return;
diff -u linux-2.6.11/mm/mmap.c-o linux-2.6.11/mm/mmap.c
--- linux-2.6.11/mm/mmap.c-o	2005-03-02 08:38:12.000000000 +0100
+++ linux-2.6.11/mm/mmap.c	2005-04-22 19:33:10.354580428 +0200
@@ -1645,11 +1645,13 @@
 		return;
 	if (first < FIRST_USER_PGD_NR * PGDIR_SIZE)
 		first = FIRST_USER_PGD_NR * PGDIR_SIZE;
+#if 0
 	/* No point trying to free anything if we're in the same pte page */
 	if ((first & PMD_MASK) < (last & PMD_MASK)) {
 		clear_page_range(tlb, first, last);
 		flush_tlb_pgtables(mm, first, last);
 	}
+#endif
 }
 
 /* Normal function to fix up a mapping

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux