powerpc/64s: Improve RFI L1-D cache flush fallback

Michael Ellerman patch-notifications at ellerman.id.au
Mon Jan 29 15:13:49 AEDT 2018


On Wed, 2018-01-17 at 13:58:18 UTC, Nicholas Piggin wrote:
> 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 at gmail.com>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/bdcb1aefc5b3f7d0f1dc8b02673602

cheers


More information about the Linuxppc-dev mailing list