[v2,3/7] powerpc/64s/radix: optimize TLB range flush barriers
Michael Ellerman
patch-notifications at ellerman.id.au
Tue Nov 14 22:12:10 AEDT 2017
On Tue, 2017-11-07 at 07:53:05 UTC, Nicholas Piggin wrote:
> Short range flushes issue a sequences of tlbie(l) instructions for
> individual effective addresses. These do not all require individual
> barrier sequences, only one covering all tlbie(l) instructions.
>
> Commit f7327e0ba3 ("powerpc/mm/radix: Remove unnecessary ptesync")
> made a similar optimization for tlbiel for PID flushing.
>
> For tlbie, the ISA says:
>
> The tlbsync instruction provides an ordering function for the
> effects of all tlbie instructions executed by the thread executing
> the tlbsync instruction, with respect to the memory barrier
> created by a subsequent ptesync instruction executed by the same
> thread.
>
> Time to munmap 30 pages of memory (after mmap, touch):
> local global
> vanilla 10.9us 22.3us
> patched 3.4us 14.4us
>
> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/14001c60939a754717893672209160
cheers
More information about the Linuxppc-dev
mailing list