linux/arch/sh
Paul Mundt 654d364e26 sh: sh4_flush_cache_mm() optimizations.
The i-cache flush in the case of VM_EXEC was added way back when as a
sanity measure, and in practice we only care about evicting aliases from
the d-cache. As a result, it's possible to drop the i-cache flush
completely here.

After careful profiling it's also come up that all of the work associated
with hunting down aliases and doing ranged flushing ends up generating
more overhead than simply blasting away the entire dcache, particularly
if there are many mm's that need to be iterated over. As a result of
that, just move back to flush_dcache_all() in these cases, which restores
the old behaviour, and vastly simplifies the path.

Additionally, on platforms without aliases at all, this can simply be
nopped out. Presently we have the alias check in the SH-4 specific
version, but this is true for all of the platforms, so move the check up
to a generic location. This cuts down quite a bit on superfluous cacheop
IPIs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-09-09 14:04:06 +09:00
..
boards sh: Fix up build warning for SH7785LCR proto board. 2009-09-01 22:38:27 +09:00
boot sh: Remove implicit sign extension from assembler immediates 2009-08-24 17:09:53 +09:00
cchips sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. 2009-05-20 11:27:13 +09:00
configs sh: modify to enable boot for EcoVec24 2009-08-27 11:36:09 +09:00
drivers sh: Allow use of GENERIC_IOMAP 2009-08-24 16:10:40 +09:00
include sh: Fix up and optimize the kmap_coherent() interface. 2009-09-03 17:21:10 +09:00
kernel sh: Kill off kgdb's magical NMI debouncing. 2009-09-01 17:45:35 +09:00
lib sh: Kill off dcache writeback from copy_page(). 2009-09-08 16:23:08 +09:00
lib64 sh64: Kill off special clear_page() implementation. 2009-08-04 17:17:00 +09:00
math-emu sh: Fix up the math-emu build. 2007-06-11 15:57:42 +09:00
mm sh: sh4_flush_cache_mm() optimizations. 2009-09-09 14:04:06 +09:00
oprofile sh: oprofile: Kill off dead valid_kernel_stack(). 2009-08-14 04:59:50 +09:00
tools sh: sh7785lcr: fix prototype board on 32bit MMU mode. 2009-08-28 10:19:13 +09:00
Kconfig sh: Allow for kernel command line concatenation. 2009-08-24 16:25:38 +09:00
Kconfig.cpu sh: Tidy up SH-4A boot_cpu_data.flags probing. 2009-06-01 19:50:08 +09:00
Kconfig.debug sh: Add initial support for SH7757 CPU subtype 2009-08-21 17:25:47 +09:00
Makefile sh: Add EcoVec (SH7724) board support 2009-08-20 10:13:16 +09:00