diff options
| author | Eric Dumazet <edumazet@google.com> | 2025-12-05 10:07:53 +0000 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2025-12-12 10:26:26 +0100 |
| commit | bdae29d6512ddc589200b9ae6bda467bdbab863d (patch) | |
| tree | 349de58946476f213a4bdc882d5e0d0ea0fcedaa | |
| parent | d36067d6ea00827e9b8fc087d8216710cb99b3cf (diff) | |
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
| -rw-r--r-- | include/linux/rseq_entry.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/rseq_entry.h b/include/linux/rseq_entry.h index c92167ff8a7f..a36b472627de 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); |
