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(-) -- 2.35.1