From 1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447 Mon Sep 17 00:00:00 2001
From: Paul Mundt <lethal@linux-sh.org>
Date: Mon, 19 Nov 2007 13:00:32 +0900
Subject: 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>
---
 arch/sh/mm/fault.c | 8 --------
 1 file changed, 8 deletions(-)

(limited to 'arch/sh/mm/fault.c')

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;
-- 
cgit v1.2.3