lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251205100753.4073221-1-edumazet@google.com>
Date: Fri,  5 Dec 2025 10:07:53 +0000
From: Eric Dumazet <edumazet@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>, Thomas Gleixner <tglx@...utronix.de>, 
	Ingo Molnar <mingo@...nel.org>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>, Eric Dumazet <eric.dumazet@...il.com>, 
	Eric Dumazet <edumazet@...gle.com>
Subject: [PATCH] rseq: always inline rseq_debug_syscall_return()

To get full benefit of commit eaa9088d568c ("rseq: Use static branch
for syscall exit debug when GENERIC_IRQ_ENTRY=y"), clang needs
__always_inline instead of inline qualifier.

Tested:

for i in {1..10}; do taskset -c 4 perf5 bench syscall basic -l 100000000 | grep "ops/sec"; done

Before:
     15,490,350 ops/sec
     15,564,199 ops/sec
     15,450,324 ops/sec
     15,443,986 ops/sec
     15,519,631 ops/sec
     15,400,475 ops/sec
     15,282,792 ops/sec
     15,464,758 ops/sec
     15,344,973 ops/sec
     15,283,429 ops/sec

After:
     15,940,189 ops/sec
     15,971,037 ops/sec
     15,963,332 ops/sec
     15,897,626 ops/sec
     15,824,637 ops/sec
     15,719,760 ops/sec
     15,823,175 ops/sec
     15,745,080 ops/sec
     15,930,646 ops/sec
     15,906,730 ops/sec

Signed-off-by: Eric Dumazet <edumazet@...gle.com>
---
 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 c92167ff8a7fbd1a0771d5a79c71ee8bc4a0f8bf..a36b472627dec83a9a196eb33b83e8d39061ffbe 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);
-- 
2.52.0.223.gf5cc29aaa4-goog


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ