From: Eric Dumazet Date: Fri, 5 Dec 2025 10:07:53 +0000 (+0000) Subject: rseq: Always inline rseq_debug_syscall_return() X-Git-Tag: v6.19-rc1~7^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bdae29d6512ddc589200b9ae6bda467bdbab863d;p=thirdparty%2Flinux.git rseq: Always inline rseq_debug_syscall_return() To get the full benefit of: eaa9088d568c ("rseq: Use static branch for syscall exit debug when GENERIC_IRQ_ENTRY=y") clang needs an __always_inline instead of a plain inline qualifier: $ for i in {1..10}; do taskset -c 4 perf5 bench syscall basic -l 100000000 | grep "ops/sec"; done Before After ops/sec 15424491 15872221 +2.9% Signed-off-by: Eric Dumazet Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Reviewed-by: Mathieu Desnoyers Link: https://patch.msgid.link/20251205100753.4073221-1-edumazet@google.com --- diff --git a/include/linux/rseq_entry.h b/include/linux/rseq_entry.h index c92167ff8a7fb..a36b472627dec 100644 --- a/include/linux/rseq_entry.h +++ b/include/linux/rseq_entry.h @@ -596,7 +596,7 @@ static __always_inline void rseq_exit_to_user_mode_legacy(void) void __rseq_debug_syscall_return(struct pt_regs *regs); -static inline void rseq_debug_syscall_return(struct pt_regs *regs) +static __always_inline void rseq_debug_syscall_return(struct pt_regs *regs) { if (static_branch_unlikely(&rseq_debug_enabled)) __rseq_debug_syscall_return(regs);