Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://patch.msgid.link/20251205100753.4073221-1-edumazet@google.com

authored by

Eric Dumazet and committed by
Ingo Molnar
bdae29d6 d36067d6

+1 -1
+1 -1
include/linux/rseq_entry.h
··· 596 596 597 597 void __rseq_debug_syscall_return(struct pt_regs *regs); 598 598 599 - static inline void rseq_debug_syscall_return(struct pt_regs *regs) 599 + static __always_inline void rseq_debug_syscall_return(struct pt_regs *regs) 600 600 { 601 601 if (static_branch_unlikely(&rseq_debug_enabled)) 602 602 __rseq_debug_syscall_return(regs);