[tip: core/urgent] rseq: Always inline rseq_debug_syscall_return()

From: tip-bot2 for Eric Dumazet

Date: Fri Dec 12 2025 - 04:29:13 EST


The following commit has been merged into the core/urgent branch of tip:

Commit-ID: bdae29d6512ddc589200b9ae6bda467bdbab863d
Gitweb: https://git.kernel.org/tip/bdae29d6512ddc589200b9ae6bda467bdbab863d
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
AuthorDate: Fri, 05 Dec 2025 10:07:53
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Fri, 12 Dec 2025 10:26:26 +01:00

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 <edumazet@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
Link: https://patch.msgid.link/20251205100753.4073221-1-edumazet@xxxxxxxxxx
---
include/linux/rseq_entry.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/rseq_entry.h b/include/linux/rseq_entry.h
index c92167f..a36b472 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);