diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-19 13:00:32 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-11-19 13:00:32 +0900 |
commit | 1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447 (patch) | |
tree | cec70f706b92e968ab9f56c16d670e65dc9c9f54 /arch/sh | |
parent | 0349337467dc6039dcfb225074944ae944e7b34e (diff) | |
download | op-kernel-dev-1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447.zip op-kernel-dev-1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447.tar.gz |
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.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index f33cedb..c56a5fa 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; |