aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/inventory.c
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2018-10-19 20:48:12 -0400
committerHelge Deller <deller@gmx.de>2018-10-20 21:10:26 +0200
commit4c5fe5db1ac6420ec9c0a62ab764572ef79472b3 (patch)
tree00140541092c416503ed71d4fec7d45350b5d379 /arch/parisc/kernel/inventory.c
parentparisc: Remove pte_inserted define (diff)
downloadlinux-dev-4c5fe5db1ac6420ec9c0a62ab764572ef79472b3.tar.xz
linux-dev-4c5fe5db1ac6420ec9c0a62ab764572ef79472b3.zip
parisc: Optimze cache flush algorithms
The attached patch implements three optimizations: 1) Loops in flush_user_dcache_range_asm, flush_kernel_dcache_range_asm, purge_kernel_dcache_range_asm, flush_user_icache_range_asm, and flush_kernel_icache_range_asm are unrolled to reduce branch overhead. 2) The static branch prediction for cmpb instructions in pacache.S have been reviewed and the operand order adjusted where necessary. 3) For flush routines in cache.c, we purge rather flush when we have no context. The pdc instruction at level 0 is not required to write back dirty lines to memory. This provides a performance improvement over the fdc instruction if the feature is implemented. Version 2 adds alternative patching. The patch provides an average improvement of about 2%. Signed-off-by: John David Anglin <dave.anglin@bell.net> Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions