On Thu, 22 Feb 2018 23:35:45 +1100
Michael Ellerman <m...@ellerman.id.au> wrote:
> From: Nicholas Piggin <npig...@gmail.com>
> commit bdcb1aefc5b3f7d0f1dc8b02673602bca2ff7a4b upstream.
> 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
> Signed-off-by: Nicholas Piggin <npig...@gmail.com>
> [mpe: Backport to 4.9]
> Signed-off-by: Michael Ellerman <m...@ellerman.id.au>
Thanks for doing these. They all look okay to me.