diff options
| author | Eric Dumazet <edumazet@google.com> | 2025-12-05 10:07:53 +0000 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2025-12-10 10:10:05 +0900 |
| commit | ad9c647ad7627d1ced814fca6d75d046b5a04d6b (patch) | |
| tree | f8b5e80c5cb24d6b6a6212e8ad418c7ebe8c2748 | |
| parent | 40f40edaa30137fe7f09752db60a7a6ab4124ef9 (diff) | |
| download | tip-core/urgent.tar.gz | |
rseq: Always inline rseq_debug_syscall_return()core/urgent
To get the full benefit of commit eaa9088d568c ("rseq: Use static branch
for syscall exit debug when GENERIC_IRQ_ENTRY=y"), clang needs
__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>
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 c92167ff8a7fbd..a36b472627dec8 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); |
