* [PATCH] rseq: always inline rseq_debug_syscall_return()
@ 2025-12-05 10:07 Eric Dumazet
2025-12-05 13:31 ` Mathieu Desnoyers
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Eric Dumazet @ 2025-12-05 10:07 UTC (permalink / raw)
To: Peter Zijlstra, Thomas Gleixner, Ingo Molnar, Mathieu Desnoyers
Cc: linux-kernel, Eric Dumazet, Eric Dumazet
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@google.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
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] rseq: always inline rseq_debug_syscall_return()
2025-12-05 10:07 [PATCH] rseq: always inline rseq_debug_syscall_return() Eric Dumazet
@ 2025-12-05 13:31 ` Mathieu Desnoyers
2025-12-10 1:12 ` [tip: core/urgent] rseq: Always " tip-bot2 for Eric Dumazet
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Mathieu Desnoyers @ 2025-12-05 13:31 UTC (permalink / raw)
To: Eric Dumazet, Peter Zijlstra, Thomas Gleixner, Ingo Molnar
Cc: linux-kernel, Eric Dumazet
On 2025-12-05 05:07, Eric Dumazet wrote:
> 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.
> ...
> Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com
^ permalink raw reply [flat|nested] 5+ messages in thread* [tip: core/urgent] rseq: Always inline rseq_debug_syscall_return()
2025-12-05 10:07 [PATCH] rseq: always inline rseq_debug_syscall_return() Eric Dumazet
2025-12-05 13:31 ` Mathieu Desnoyers
@ 2025-12-10 1:12 ` tip-bot2 for Eric Dumazet
2025-12-12 9:10 ` tip-bot2 for Eric Dumazet
2025-12-12 9:29 ` tip-bot2 for Eric Dumazet
3 siblings, 0 replies; 5+ messages in thread
From: tip-bot2 for Eric Dumazet @ 2025-12-10 1:12 UTC (permalink / raw)
To: linux-tip-commits
Cc: Eric Dumazet, Thomas Gleixner, Mathieu Desnoyers, x86, linux-kernel
The following commit has been merged into the core/urgent branch of tip:
Commit-ID: ad9c647ad7627d1ced814fca6d75d046b5a04d6b
Gitweb: https://git.kernel.org/tip/ad9c647ad7627d1ced814fca6d75d046b5a04d6b
Author: Eric Dumazet <edumazet@google.com>
AuthorDate: Fri, 05 Dec 2025 10:07:53
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 10 Dec 2025 10:10:05 +09:00
rseq: Always inline rseq_debug_syscall_return()
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
---
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);
^ permalink raw reply [flat|nested] 5+ messages in thread* [tip: core/urgent] rseq: Always inline rseq_debug_syscall_return()
2025-12-05 10:07 [PATCH] rseq: always inline rseq_debug_syscall_return() Eric Dumazet
2025-12-05 13:31 ` Mathieu Desnoyers
2025-12-10 1:12 ` [tip: core/urgent] rseq: Always " tip-bot2 for Eric Dumazet
@ 2025-12-12 9:10 ` tip-bot2 for Eric Dumazet
2025-12-12 9:29 ` tip-bot2 for Eric Dumazet
3 siblings, 0 replies; 5+ messages in thread
From: tip-bot2 for Eric Dumazet @ 2025-12-12 9:10 UTC (permalink / raw)
To: linux-tip-commits
Cc: Eric Dumazet, Thomas Gleixner, Ingo Molnar, Mathieu Desnoyers,
x86, linux-kernel
The following commit has been merged into the core/urgent branch of tip:
Commit-ID: f1de49094b9e0b44f85a0f8b77bc27d8ca222e3c
Gitweb: https://git.kernel.org/tip/f1de49094b9e0b44f85a0f8b77bc27d8ca222e3c
Author: Eric Dumazet <edumazet@google.com>
AuthorDate: Fri, 05 Dec 2025 10:07:53
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Fri, 12 Dec 2025 10:07:06 +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@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
---
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);
^ permalink raw reply [flat|nested] 5+ messages in thread* [tip: core/urgent] rseq: Always inline rseq_debug_syscall_return()
2025-12-05 10:07 [PATCH] rseq: always inline rseq_debug_syscall_return() Eric Dumazet
` (2 preceding siblings ...)
2025-12-12 9:10 ` tip-bot2 for Eric Dumazet
@ 2025-12-12 9:29 ` tip-bot2 for Eric Dumazet
3 siblings, 0 replies; 5+ messages in thread
From: tip-bot2 for Eric Dumazet @ 2025-12-12 9:29 UTC (permalink / raw)
To: linux-tip-commits
Cc: Eric Dumazet, Thomas Gleixner, Ingo Molnar, Mathieu Desnoyers,
x86, linux-kernel
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@google.com>
AuthorDate: Fri, 05 Dec 2025 10:07:53
Committer: Ingo Molnar <mingo@kernel.org>
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@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
---
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);
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-12-12 9:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-05 10:07 [PATCH] rseq: always inline rseq_debug_syscall_return() Eric Dumazet
2025-12-05 13:31 ` Mathieu Desnoyers
2025-12-10 1:12 ` [tip: core/urgent] rseq: Always " tip-bot2 for Eric Dumazet
2025-12-12 9:10 ` tip-bot2 for Eric Dumazet
2025-12-12 9:29 ` tip-bot2 for Eric Dumazet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®