Messages in this thread Patch in this message | | | Date | Wed, 26 Dec 2007 12:43:01 -0800 (PST) | From | Christoph Lameter <> | Subject | Re: tlb_finish_mmu() bogisity |
| |
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 */
| |