flush icache if VM_EXEC in flush_cache_page
anfei
anfei.zhou at gmail.com
Thu Mar 25 11:35:46 EDT 2010
Hi,
There is a little difference of flushing icache between flush_cache_page
and flush_cache_range, why not make them the same? I think they have
the very similar semantic except the range. If the vma is VM_EXEC, we
should flush the icache no matter what cache type, and if it's not,
then it's not necessary. Is it right?
Signed-off-by: Anfei Zhou <anfei.zhou at gmail.com>
---
arch/arm/mm/flush.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index e34f095..48a756a 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -80,12 +80,10 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsig
return;
}
- if (cache_is_vipt_aliasing()) {
+ if (cache_is_vipt_aliasing())
flush_pfn_alias(pfn, user_addr);
- __flush_icache_all();
- }
- if (vma->vm_flags & VM_EXEC && icache_is_vivt_asid_tagged())
+ if (vma->vm_flags & VM_EXEC)
__flush_icache_all();
}
#else
--
1.6.4.rc1
More information about the linux-arm-kernel
mailing list