[PATCH] arm64: entry: Clean out some indirection

Will Deacon will at kernel.org
Tue Nov 4 07:22:42 PST 2025


On Tue, Oct 14, 2025 at 09:08:30PM +0200, Linus Walleij wrote:
> The conversion to generic IRQ entry left some functions
> in the EL1 (kernel) IRQ entry path very shallow, so drop
> the __inner_functions() where appropriate, saving some
> time and stack.
> 
> This is not a fix but an optimization.
> 
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>  arch/arm64/kernel/entry-common.c | 22 +++-------------------
>  1 file changed, 3 insertions(+), 19 deletions(-)

I think the code was originally structured to follow the same flow as
the generic code so that the two could be easily compared. Now that
we're moving over to the generic code, I agree that it makes sense to
clean things up.

> diff --git a/arch/arm64/kernel/entry-common.c b/arch/arm64/kernel/entry-common.c
> index f546a914f04174e37bf3578490545edebb66afd1..e34dfd93c522ae58a5f1c914fe4a5bfc6522cdae 100644
> --- a/arch/arm64/kernel/entry-common.c
> +++ b/arch/arm64/kernel/entry-common.c
> @@ -38,16 +38,11 @@
>   * This is intended to match the logic in irqentry_enter(), handling the kernel
>   * mode transitions only.

nit: this comment ^^^ (the reference to irqentry_enter()) also seems to
be out of date now.

>   */
> -static __always_inline irqentry_state_t __enter_from_kernel_mode(struct pt_regs *regs)
> -{
> -	return irqentry_enter(regs);
> -}
> -
>  static noinstr irqentry_state_t enter_from_kernel_mode(struct pt_regs *regs)
>  {
>  	irqentry_state_t state;
>  
> -	state = __enter_from_kernel_mode(regs);
> +	state = irqentry_enter(regs);
>  	mte_check_tfsr_entry();
>  	mte_disable_tco_entry(current);
>  
> @@ -62,17 +57,11 @@ static noinstr irqentry_state_t enter_from_kernel_mode(struct pt_regs *regs)
>   * This is intended to match the logic in irqentry_exit(), handling the kernel
>   * mode transitions only, and with preemption handled elsewhere.
>   */

Similarly for this one ^^^.

Will



More information about the linux-arm-kernel mailing list