summaryrefslogtreecommitdiffstats
path: root/arch/csky/include/asm/mmu_context.h
diff options
context:
space:
mode:
authorGuo Ren <guoren@linux.alibaba.com>2020-01-31 20:33:10 +0800
committerGuo Ren <guoren@linux.alibaba.com>2020-02-21 15:43:24 +0800
commit997153b9a75c08d545ad45e6f8ceb432435d2425 (patch)
tree830915f73d05e7d094d2f293a712e05c0da1e6f5 /arch/csky/include/asm/mmu_context.h
parentcc1f6563a92ced0889775d0587316d725b6e1a68 (diff)
downloadlinux-stable-997153b9a75c08d545ad45e6f8ceb432435d2425.tar.gz
linux-stable-997153b9a75c08d545ad45e6f8ceb432435d2425.tar.bz2
linux-stable-997153b9a75c08d545ad45e6f8ceb432435d2425.zip
csky: Add flush_icache_mm to defer flush icache all
Some CPUs don't support icache.va instruction to maintain the whole smp cores' icache. Using icache.all + IPI casue a lot on performace and using defer mechanism could reduce the number of calling icache _flush_all functions. Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Diffstat (limited to 'arch/csky/include/asm/mmu_context.h')
-rw-r--r--arch/csky/include/asm/mmu_context.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/csky/include/asm/mmu_context.h b/arch/csky/include/asm/mmu_context.h
index 0285b0ad18b6..abdf1f1cb6ec 100644
--- a/arch/csky/include/asm/mmu_context.h
+++ b/arch/csky/include/asm/mmu_context.h
@@ -43,5 +43,7 @@ switch_mm(struct mm_struct *prev, struct mm_struct *next,
TLBMISS_HANDLER_SETUP_PGD(next->pgd);
write_mmu_entryhi(next->context.asid.counter);
+
+ flush_icache_deferred(next);
}
#endif /* __ASM_CSKY_MMU_CONTEXT_H */