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    [from the cache]
©2003-2011 Jasper Spaans