[<prev] [next>] [day] [month] [year] [list]
Message-Id: <cover.1647962456.git.christophe.leroy@csgroup.eu>
Date: Tue, 22 Mar 2022 16:40:17 +0100
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michael Ellerman <mpe@...erman.id.au>
Cc: Christophe Leroy <christophe.leroy@...roup.eu>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: [PATCH v1 0/4] Kill the time spent in patch_instruction()
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
Powered by blists - more mailing lists