Re: tlb_finish_mmu() bogisity

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Linus Torvalds <torvalds@...>
Cc: Al Viro <viro@...>, <linux-kernel@...>
Date: Wednesday, December 26, 2007 - 4:43 pm

Argh. This is indeed bogus. The one reporting the problem states that the 
patch did not address the issue. The report was regarding pgd freeing 
which is handled slightly differently from pte frees.

[PATCH] Revert quicklist need->flush fix

Did not fix the reported issue. Apart from other weirdness this causes a 
bad link between the TLB flushing logic and the quicklists. If there is 
indeed an issue that an arch needs a tlb flush before free then the arch 
code needs to set tlb->need_flush before calling quicklist_free.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6/include/asm-generic/tlb.h
===================================================================
--- linux-2.6.orig/include/asm-generic/tlb.h	2007-12-26 12:26:32.000000000 -0800
+++ linux-2.6/include/asm-generic/tlb.h	2007-12-26 12:26:39.000000000 -0800
@@ -86,9 +86,6 @@ tlb_flush_mmu(struct mmu_gather *tlb, un
 static inline void
 tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
 {
-#ifdef CONFIG_QUICKLIST
-	tlb->need_flush += &__get_cpu_var(quicklist)[0].nr_pages != 0;
-#endif
 	tlb_flush_mmu(tlb, start, end);
 
 	/* keep the page table cache within bounds */
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
tlb_finish_mmu() bogisity, Al Viro, (Sun Dec 23, 5:32 am)
Re: tlb_finish_mmu() bogisity, Linus Torvalds, (Sun Dec 23, 5:15 pm)
Re: tlb_finish_mmu() bogisity, Christoph Lameter, (Mon Dec 24, 3:25 pm)
Re: tlb_finish_mmu() bogisity, Christoph Lameter, (Wed Dec 26, 4:43 pm)