From: Paul Mundt Date: Mon, 19 Nov 2007 04:00:32 +0000 (+0900) Subject: sh: Kill off UTLB flush in fast-path. X-Git-Tag: v2.6.24-rc4~96^2~6 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447;p=linux-2.6 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 --- diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index f33cedb353..c56a5fabcd 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;