Re: [PATCH 1/3] rcu: Always inline rcu_dynticks_task*_{enter,exit}()

From: Thomas Gleixner
Date: Tue Sep 28 2021 - 18:35:19 EST


On Tue, Sep 28 2021 at 10:40, Peter Zijlstra wrote:

> RCU managed to grow a few noinstr violations:
>
> vmlinux.o: warning: objtool: rcu_dynticks_eqs_enter()+0x0: call to rcu_dynticks_task_trace_enter() leaves .noinstr.text section
> vmlinux.o: warning: objtool: rcu_dynticks_eqs_exit()+0xe: call to rcu_dynticks_task_trace_exit() leaves .noinstr.text section
>
> Fix them by adding __always_inline to the relevant trivial functions.
>
> Also replace the noinstr with __always_inline for the existing
> rcu_dynticks_task_*() functions since noinstr would force noinline
> them, even when empty, which seems silly.
>
> Fixes: 7d0c9c50c5a1 ("rcu-tasks: Avoid IPIing userspace/idle tasks if kernel is so built")
> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>

Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>