summaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-19 05:00:32 +0100
committerPaul Mundt <lethal@linux-sh.org>2007-11-19 05:00:32 +0100
commit1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447 (patch)
treecec70f706b92e968ab9f56c16d670e65dc9c9f54 /arch/sh
parentsh: Fix copy_{to,from}_user_page() with cache disabled. (diff)
downloadlinux-1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447.tar.xz
linux-1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447.zip
sh: Kill off UTLB flush in fast-path.
The __do_page_fault() fast-path contains a UTLB flush in order to force an ITLB reload, this isn't needed in practice as the ITLB is auto-reloaded from the UTLB anyways, which is already displaced by the manual 'ldtlb' in the update_mmu_cache() path. This provides a measurable speed up in the TLB miss fast-path. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/mm/fault.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
index f33cedb353fc..c56a5fabcd0f 100644
--- a/arch/sh/mm/fault.c
+++ b/arch/sh/mm/fault.c
@@ -304,14 +304,6 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
entry = pte_mkdirty(entry);
entry = pte_mkyoung(entry);
-#ifdef CONFIG_CPU_SH4
- /*
- * ITLB is not affected by "ldtlb" instruction.
- * So, we need to flush the entry by ourselves.
- */
- local_flush_tlb_one(get_asid(), address & PAGE_MASK);
-#endif
-
set_pte(pte, entry);
update_mmu_cache(NULL, address, entry);
ret = 0;