2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-20 11:34:02 +08:00
linux-next/arch/sh/mm
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
..
asids-debugfs.c sh: Update debugfs ASID dumping for 16-bit ASID support. 2009-03-17 17:59:31 +09:00
cache-debugfs.c Fix debugfs_create_file's error checking method for arch/sh/mm/ 2008-10-20 10:40:21 +09:00
cache-sh2.c sh: Convert SH-2 to new cacheflush interface. 2009-08-15 12:35:15 +09:00
cache-sh2a.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache-sh3.c sh: Convert SH-3 to new cacheflush interface. 2009-08-15 12:42:55 +09:00
cache-sh4.c sh: sh4_flush_cache_mm() optimizations. 2009-09-09 14:04:06 +09:00
cache-sh5.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache-sh7705.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache.c sh: sh4_flush_cache_mm() optimizations. 2009-09-09 14:04:06 +09:00
consistent.c sh: Pre-allocate a reasonable number of DMA debug entries. 2009-04-14 15:22:15 +09:00
extable_32.c sh: Split out extable.c _32 and _64 variants. 2008-01-28 13:18:44 +09:00
extable_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
fault_32.c sh: Fix up and optimize the kmap_coherent() interface. 2009-09-03 17:21:10 +09:00
fault_64.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
flush-sh4.c sh: Fix up the SH-5 build with caches enabled. 2009-08-16 01:50:17 +09:00
hugetlbpage.c hugetlb: introduce pud_huge 2008-07-24 10:47:18 -07:00
init.c sh: Fix up and optimize the kmap_coherent() interface. 2009-09-03 17:21:10 +09:00
ioremap_32.c sh: Fix overzealous checking in __ioremap() 2009-08-24 18:29:25 +09:00
ioremap_64.c sh: use printk_once 2009-08-13 11:48:08 +09:00
Kconfig sh: Add initial support for SH7757 CPU subtype 2009-08-21 17:25:47 +09:00
kmap.c sh: Use more aggressive dcache purging in kmap teardown. 2009-09-08 16:21:00 +09:00
Makefile sh: Build fix for disabled caches. 2009-08-19 17:57:01 +09:00
mmap.c sh: rework nommu for generic cache.c use. 2009-08-15 09:49:32 +09:00
nommu.c sh: Fix up and optimize the kmap_coherent() interface. 2009-09-03 17:21:10 +09:00
numa.c sh: Use bootmem ontop of lmb for NUMA 2009-07-05 00:32:11 +09:00
pmb-fixed.c sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
pmb.c sh: PMB hibernation support 2009-03-16 19:46:17 +09:00
tlb-pteaex.c sh: Handle a NULL vma in __update_tlb() for the fast-path. 2009-07-29 22:06:58 +09:00
tlb-sh3.c sh: Handle a NULL vma in __update_tlb() for the fast-path. 2009-07-29 22:06:58 +09:00
tlb-sh4.c Merge branch 'master' into sh/smp 2009-09-01 13:54:14 +09:00
tlb-sh5.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
tlbflush_32.c sh: Rename the _32 and _64 TLB flush variants. 2008-01-28 13:18:54 +09:00
tlbflush_64.c sh: Convert cache disabled SH-5 over to new cache interface. 2009-08-16 00:53:56 +09:00