lkml.org 
[lkml]   [2011]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[RFC][PATCH 01/15] mm, powerpc: Dont use tlb_flush for external tlb flushes
    Both sparc64 and powerpc64 use tlb_flush() to flush their respective
    hash-tables which is entirely different from what
    flush_tlb_range()/flush_tlb_mm() would do.

    Powerpc64 already uses arch_*_lazy_mmu_mode() to batch and flush these
    so any tlb_flush() caller should already find an empty batch. So
    remove this functionality from tlb_flush().

    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    ---
    arch/powerpc/mm/tlb_hash64.c | 10 ----------
    arch/sparc/include/asm/tlb_64.h | 2 +-
    arch/sparc/include/asm/tlbflush_64.h | 13 +++++++++++++
    3 files changed, 14 insertions(+), 11 deletions(-)

    Index: linux-2.6/arch/powerpc/mm/tlb_hash64.c
    ===================================================================
    --- linux-2.6.orig/arch/powerpc/mm/tlb_hash64.c
    +++ linux-2.6/arch/powerpc/mm/tlb_hash64.c
    @@ -155,16 +155,6 @@ void __flush_tlb_pending(struct ppc64_tl

    void tlb_flush(struct mmu_gather *tlb)
    {
    - struct ppc64_tlb_batch *tlbbatch = &get_cpu_var(ppc64_tlb_batch);
    -
    - /* If there's a TLB batch pending, then we must flush it because the
    - * pages are going to be freed and we really don't want to have a CPU
    - * access a freed page because it has a stale TLB
    - */
    - if (tlbbatch->index)
    - __flush_tlb_pending(tlbbatch);
    -
    - put_cpu_var(ppc64_tlb_batch);
    }

    /**



    \
     
     \ /
      Last update: 2011-03-07 18:55    [W:0.038 / U:70.116 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site