summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@csgroup.eu>2022-08-15 13:48:40 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2022-09-01 05:56:01 +0200
commit8b4bb0ad00cb347f62e76a636ce08eb179c843fc (patch)
treebf75102ea37125fa90e447d060e90fc26a6db58f /arch/powerpc/mm
parentpowerpc/82xx: remove spidev node from mgcoge (diff)
downloadlinux-8b4bb0ad00cb347f62e76a636ce08eb179c843fc.tar.xz
linux-8b4bb0ad00cb347f62e76a636ce08eb179c843fc.zip
powerpc/code-patching: Speed up page mapping/unmapping
Since commit 591b4b268435 ("powerpc/code-patching: Pre-map patch area") the patch area is premapped so intermediate page tables are already allocated. Use __set_pte_at() directly instead of the heavy map_kernel_page(), at for unmapping just do a pte_clear() followed by a flush. __set_pte_at() can be used directly without the filters in set_pte_at() because we are mapping a normal page non executable. Make sure gcc knows text_poke_area is page aligned in order to optimise the flush. This change reduces by 66% the time needed to activate ftrace on an 8xx (588000 tb ticks instead of 1744000). Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> [mpe: Add ptesync needed on radix to avoid spurious fault] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220815114840.1468656-1-mpe@ellerman.id.au
Diffstat (limited to 'arch/powerpc/mm')
0 files changed, 0 insertions, 0 deletions