Re: [PATCH v2 3/3] jump_label: make initial NOP patching the special case

From: Peter Zijlstra
Date: Fri Jun 17 2022 - 09:40:34 EST


On Thu, Jun 16, 2022 at 01:25:02PM +0200, Ard Biesheuvel wrote:
> On Wed, 15 Jun 2022 at 17:41, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
> >
> > Instead of defaulting to patching NOP opcodes at init time, and leaving
> > it to the architectures to override this if this is not needed, switch
> > to a model where doing nothing is the default. This is the common case
> > by far, as only MIPS requires NOP patching at init time. On all other
> > architectures, the correct encodings are emitted by the compiler and so
> > no initial patching is needed.
> >
> > Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> > Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
> > Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> > ---
> > Documentation/staging/static-keys.rst | 3 ---
> > arch/arc/kernel/jump_label.c | 13 -------------
> > arch/arm/kernel/jump_label.c | 6 ------
> > arch/arm64/kernel/jump_label.c | 11 -----------
> > arch/mips/include/asm/jump_label.h | 2 ++
> > arch/parisc/kernel/jump_label.c | 11 -----------
> > arch/riscv/kernel/jump_label.c | 12 ------------
> > arch/s390/kernel/jump_label.c | 5 -----
> > arch/x86/kernel/jump_label.c | 13 -------------
> > kernel/jump_label.c | 14 +++++---------
> > 10 files changed, 7 insertions(+), 83 deletions(-)
> >
>
> This needs the following hunk as well, as spotted by the bot:
>
> --- a/include/linux/jump_label.h
> +++ b/include/linux/jump_label.h
> @@ -220,8 +220,6 @@ extern void jump_label_lock(void);
> extern void jump_label_unlock(void);
> extern void arch_jump_label_transform(struct jump_entry *entry,
> enum jump_label_type type);
> -extern void arch_jump_label_transform_static(struct jump_entry *entry,
> - enum jump_label_type type);
> extern bool arch_jump_label_transform_queue(struct jump_entry *entry,
> enum jump_label_type type);
> extern void arch_jump_label_transform_apply(void);
>
Done, Thanks!