OpenCloudOS-Kernel/arch/powerpc/xmon
Nicholas Piggin bdcb1aefc5 powerpc/64s: Improve RFI L1-D cache flush fallback
The fallback RFI flush is used when firmware does not provide a way
to flush the cache. It's a "displacement flush" that evicts useful
data by displacing it with an uninteresting buffer.

The flush has to take care to work with implementation specific cache
replacment policies, so the recipe has been in flux. The initial
slow but conservative approach is to touch all lines of a congruence
class, with dependencies between each load. It has since been
determined that a linear pattern of loads without dependencies is
sufficient, and is significantly faster.

Measuring the speed of a null syscall with RFI fallback flush enabled
gives the relative improvement:

P8 - 1.83x
P9 - 1.75x

The flush also becomes simpler and more adaptable to different cache
geometries.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-01-23 16:16:33 +11:00
..
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ansidecl.h powerpc: Merge xmon 2005-10-28 22:53:37 +10:00
dis-asm.h [POWERPC] Make xmon disassembly optional 2006-12-04 20:40:32 +11:00
nonstdio.c powerpc/xmon: Paged output for paca display 2015-10-15 20:32:01 +11:00
nonstdio.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ppc-dis.c powerpc/xmon: Do not compute/store the major opcode 2018-01-21 23:37:43 +11:00
ppc-opc.c powerpc updates for 4.11 part 2 2017-03-01 10:10:16 -08:00
ppc.h powerpc/xmon: Enable disassembly files (compilation changes) 2017-02-15 20:02:42 +11:00
spr_access.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spu-dis.c [PATCH] arch/powerpc trivial annotations 2007-02-09 09:14:06 -08:00
spu-insns.h [POWERPC] Import spu disassembly code into xmon 2006-12-04 20:40:29 +11:00
spu-opc.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
spu.h [POWERPC] Import spu disassembly code into xmon 2006-12-04 20:40:29 +11:00
xmon.c powerpc/64s: Improve RFI L1-D cache flush fallback 2018-01-23 16:16:33 +11:00