From: Thomas Gleixner <tglx@linutronix.de>
To: Prakash Sangappa <prakash.sangappa@oracle.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
Boqun Feng <boqun.feng@gmail.com>,
Jonathan Corbet <corbet@lwn.net>,
Madadi Vineeth Reddy <vineethr@linux.ibm.com>,
K Prateek Nayak <kprateek.nayak@amd.com>,
Steven Rostedt <rostedt@goodmis.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Arnd Bergmann <arnd@arndb.de>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>
Subject: Re: [patch V3 07/12] rseq: Implement syscall entry work for time slice extensions
Date: Thu, 20 Nov 2025 12:31:54 +0100 [thread overview]
Message-ID: <874iqpkkid.ffs@tglx> (raw)
In-Reply-To: <C9D3DC1A-CBF5-4AB3-B500-C932A6868B13@oracle.com>
On Thu, Nov 20 2025 at 07:37, Prakash Sangappa wrote:
>> On Nov 19, 2025, at 7:25 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
>> Something like the uncompiled and untested below should work. Though I
>> hate it with a passion.
>
> That works. It addresses DB issue.
>
> With this change, here are the ’swingbench’ performance results I received from our Database team.
> https://www.dominicgiles.com/swingbench/
>
> Kernel based on rseq/slice v3 + above change.
> System: 2 socket AMD.
> Cached DB config - i.e DB files cached on tmpfs.
>
> Response from Database performance engineer:-
>
> Overall the results are very positive and consistent with the earlier
> findings, we see a clear benefit from the optimization running the
> same tests as earlier.
>
> • The sgrant figure in /sys/kernel/debug/rseq/stats increases with the
> DB side optimization enabled, while it stays flat when disabled. I
> believe this indicates that both the kernel-side code & the DB side
> triggers are working as expected.
Correct.
> • Due to the contentious nature of the workload these tests produce
> highly erratic results, but the optimization is showing improved
> performance across 3x tests with/without use of time slice extension.
>
> • Swingbench throughput with use of time slice optimization
> • Run 1: 50,008.10
> • Run 2: 59,160.60
> • Run 3: 67,342.70
> • Swingbench throughput without use of time slice optimization
> • Run 1: 36,422.80
> • Run 2: 33,186.00
> • Run 3: 44,309.80
> • The application performs 55% better on average with the optimization.
55% is insane.
Could you please ask your performance guys to provide numbers for the
below configurations to see how the different parts of this work are
affecting the overall result:
1) Linux 6.17 (no rseq rework, no slice)
2) Linux 6.17 + your initial attempt to enable slice extension
We already have the numbers for the full new stack above (with and
without slice), so that should give us the full picture.
Thanks,
tglx
next prev parent reply other threads:[~2025-11-20 11:31 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-29 13:22 [patch V3 00/12] rseq: Implement time slice extension mechanism Thomas Gleixner
2025-10-29 13:22 ` [patch V3 01/12] sched: Provide and use set_need_resched_current() Thomas Gleixner
2025-10-29 13:22 ` [patch V3 02/12] rseq: Add fields and constants for time slice extension Thomas Gleixner
2025-10-30 22:01 ` Prakash Sangappa
2025-10-31 14:32 ` Thomas Gleixner
2025-10-31 19:31 ` Mathieu Desnoyers
2025-10-31 20:58 ` Thomas Gleixner
2025-11-01 22:53 ` Thomas Gleixner
2025-11-03 17:00 ` Mathieu Desnoyers
2025-11-03 19:19 ` Florian Weimer
2025-11-04 0:20 ` Steven Rostedt
2025-10-29 13:22 ` [patch V3 03/12] rseq: Provide static branch for time slice extensions Thomas Gleixner
2025-10-29 17:23 ` Randy Dunlap
2025-10-29 21:12 ` Thomas Gleixner
2025-10-31 19:34 ` Mathieu Desnoyers
2025-10-29 13:22 ` [patch V3 04/12] rseq: Add statistics " Thomas Gleixner
2025-10-31 19:36 ` Mathieu Desnoyers
2025-10-29 13:22 ` [patch V3 05/12] rseq: Add prctl() to enable " Thomas Gleixner
2025-10-31 19:43 ` Mathieu Desnoyers
2025-10-31 21:05 ` Thomas Gleixner
2025-10-29 13:22 ` [patch V3 06/12] rseq: Implement sys_rseq_slice_yield() Thomas Gleixner
2025-10-31 19:46 ` Mathieu Desnoyers
2025-10-31 21:07 ` Thomas Gleixner
2025-11-03 17:07 ` Mathieu Desnoyers
2025-10-29 13:22 ` [patch V3 07/12] rseq: Implement syscall entry work for time slice extensions Thomas Gleixner
2025-10-31 19:53 ` Mathieu Desnoyers
2025-11-19 0:20 ` Prakash Sangappa
2025-11-19 15:25 ` Thomas Gleixner
2025-11-20 7:37 ` Prakash Sangappa
2025-11-20 11:31 ` Thomas Gleixner [this message]
2025-11-21 0:12 ` Prakash Sangappa
2025-11-26 22:02 ` Prakash Sangappa
2025-11-21 9:28 ` david laight
2025-10-29 13:22 ` [patch V3 08/12] rseq: Implement time slice extension enforcement timer Thomas Gleixner
2025-10-29 18:45 ` Steven Rostedt
2025-10-29 21:37 ` Thomas Gleixner
2025-10-29 23:53 ` Steven Rostedt
2025-10-31 19:59 ` Mathieu Desnoyers
2025-10-29 13:22 ` [patch V3 09/12] rseq: Reset slice extension when scheduled Thomas Gleixner
2025-10-31 20:03 ` Mathieu Desnoyers
2025-10-29 13:22 ` [patch V3 10/12] rseq: Implement rseq_grant_slice_extension() Thomas Gleixner
2025-10-29 20:08 ` Steven Rostedt
2025-10-29 21:46 ` Thomas Gleixner
2025-10-29 22:04 ` Steven Rostedt
2025-10-31 14:33 ` Thomas Gleixner
2025-10-29 13:22 ` [patch V3 11/12] entry: Hook up rseq time slice extension Thomas Gleixner
2025-10-29 13:22 ` [patch V3 12/12] selftests/rseq: Implement time slice extension test Thomas Gleixner
2025-10-29 15:10 ` [patch V3 00/12] rseq: Implement time slice extension mechanism Sebastian Andrzej Siewior
2025-10-29 15:40 ` Steven Rostedt
2025-10-29 21:49 ` Thomas Gleixner
2025-11-06 17:28 ` Prakash Sangappa
2025-11-10 14:23 ` Mathieu Desnoyers
2025-11-10 17:05 ` Mathieu Desnoyers
2025-11-11 16:42 ` Mathieu Desnoyers
2025-11-12 6:30 ` Prakash Sangappa
2025-11-12 20:40 ` Mathieu Desnoyers
2025-11-12 21:57 ` Thomas Gleixner
2025-11-12 23:17 ` Prakash Sangappa
2025-11-13 2:34 ` Prakash Sangappa
2025-11-13 14:38 ` Thomas Gleixner
2025-11-12 20:31 ` Thomas Gleixner
2025-11-12 20:46 ` Mathieu Desnoyers
2025-11-12 21:54 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874iqpkkid.ffs@tglx \
--to=tglx@linutronix.de \
--cc=arnd@arndb.de \
--cc=bigeasy@linutronix.de \
--cc=boqun.feng@gmail.com \
--cc=corbet@lwn.net \
--cc=kprateek.nayak@amd.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=prakash.sangappa@oracle.com \
--cc=rostedt@goodmis.org \
--cc=vineethr@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).