Re: [PATCH v1 0/4] Kill the time spent in patch_instruction()

From: Christophe Leroy
Date: Tue Sep 27 2022 - 10:44:19 EST


Argh !! Looks like I sent an old already applied series nested in the
new one.

Ignore those x/4 patches, only look at the x/6 ones.


Le 27/09/2022 à 16:33, Christophe Leroy a écrit :
> This series reduces by 70% the time required to activate
> ftrace on an 8xx with CONFIG_STRICT_KERNEL_RWX.
>
> Measure is performed in function ftrace_replace_code() using mftb()
> around the loop.
>
> With the series,
> - Without CONFIG_STRICT_KERNEL_RWX, 416000 TB ticks are measured.
> - With CONFIG_STRICT_KERNEL_RWX, 546000 TB ticks are measured.
>
> Before this series,
> - Without CONFIG_STRICT_KERNEL_RWX, 427000 TB ticks are measured.
> - With CONFIG_STRICT_KERNEL_RWX, 1744000 TB ticks are measured.
>
> Before the series, CONFIG_STRICT_KERNEL_RWX multiplies the time
> required for ftrace activation by more than 4.
>
> With the series, CONFIG_STRICT_KERNEL_RWX increases the time
> required for ftrace activation by only 30%
>
> Christophe Leroy (4):
> powerpc/code-patching: Don't call is_vmalloc_or_module_addr() without
> CONFIG_MODULES
> powerpc/code-patching: Speed up page mapping/unmapping
> powerpc/code-patching: Use jump_label for testing freed initmem
> powerpc/code-patching: Use jump_label to check if poking_init() is
> done
>
> arch/powerpc/include/asm/code-patching.h | 2 ++
> arch/powerpc/lib/code-patching.c | 37 +++++++++++++++---------
> arch/powerpc/mm/mem.c | 2 ++
> 3 files changed, 28 insertions(+), 13 deletions(-)
>