Re: tlb_finish_mmu() bogisity

From: Christoph Lameter
Date: Wed Dec 26 2007 - 15:43:18 EST


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@xxxxxxx>

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 */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/