diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-19 05:00:32 +0100 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-11-19 05:00:32 +0100 |
commit | 1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447 (patch) | |
tree | cec70f706b92e968ab9f56c16d670e65dc9c9f54 /arch/sh | |
parent | sh: Fix copy_{to,from}_user_page() with cache disabled. (diff) | |
download | linux-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.c | 8 |
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; |