lkml.org 
[lkml]   [2009]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 2/2] ARM: tlb: Use range in tlb_start_vma() and tlb_end_vma()
    Date
    Flush only the pages that were unmapped.

    Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
    ---
    arch/arm/include/asm/tlb.h | 6 +++---
    1 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm/tlb.h
    index d10c9c3..a034b6d 100644
    --- a/arch/arm/include/asm/tlb.h
    +++ b/arch/arm/include/asm/tlb.h
    @@ -68,14 +68,14 @@ tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
    /*
    * In the case of tlb vma handling, we can optimise these away in the
    * case where we're doing a full MM flush. When we're doing a munmap,
    - * the vmas are adjusted to only cover the region to be torn down.
    + * the range is adjusted to only cover the region to be torn down.
    */
    static inline void
    tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct *vma,
    unsigned long range_start, unsigned long range_end)
    {
    if (!tlb->fullmm)
    - flush_cache_range(vma, vma->vm_start, vma->vm_end);
    + flush_cache_range(vma, range_start, range_end);
    }

    static inline void
    @@ -83,7 +83,7 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma,
    unsigned long range_start, unsigned long range_end)
    {
    if (!tlb->fullmm)
    - flush_tlb_range(vma, vma->vm_start, vma->vm_end);
    + flush_tlb_range(vma, range_start, range_end);
    }

    #define tlb_remove_page(tlb,page) free_page_and_swap_cache(page)
    --
    1.5.4.3


    \
     
     \ /
      Last update: 2009-03-09 14:03    [W:0.030 / U:30.320 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site