powerpc/64s/radix: Don't prefetch DAR in update_mmu_cache
authorNicholas Piggin <npiggin@gmail.com>
Mon, 4 May 2020 12:29:07 +0000 (22:29 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 28 May 2020 13:24:34 +0000 (23:24 +1000)
commit18594f9b8c45484bd527ebc6b08383b95f58ba73
treef99e1b502708fb802af5b7b494216a68864a435e
parente4f4ffa8a98c24a4ab482669b1e2b4cfce3f52f4
powerpc/64s/radix: Don't prefetch DAR in update_mmu_cache

The idea behind this prefetch was to kick off a page table walk before
returning from the fault, getting some pipelining advantage.

But this never showed up any noticable performance advantage, and in
fact with KUAP the prefetches are actually blocked and cause some
kind of micro-architectural fault. Removing this improves page fault
microbenchmark performance by about 9%.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Keep the early return in update_mmu_cache()]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200504122907.49304-1-npiggin@gmail.com
arch/powerpc/include/asm/book3s/64/pgtable.h
arch/powerpc/mm/book3s64/hash_utils.c
arch/powerpc/mm/book3s64/pgtable.c