[tip: sched/core] rseq: Lower default slice extension

tip-bot2 for Peter Zijlstra posted 1 patch 2 weeks, 3 days ago
Documentation/userspace-api/rseq.rst | 2 +-
kernel/rseq.c                        | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
[tip: sched/core] rseq: Lower default slice extension
Posted by tip-bot2 for Peter Zijlstra 2 weeks, 3 days ago
The following commit has been merged into the sched/core branch of tip:

Commit-ID:     21c0e92d0681fbd10ac024311bd09bca439e0bb1
Gitweb:        https://git.kernel.org/tip/21c0e92d0681fbd10ac024311bd09bca439e0bb1
Author:        Peter Zijlstra <peterz@infradead.org>
AuthorDate:    Wed, 21 Jan 2026 14:25:04 +01:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Thu, 22 Jan 2026 11:11:20 +01:00

rseq: Lower default slice extension

Change the minimum slice extension to 5 usec.

Since slice_test selftest reaches a staggering ~350 nsec extension:

Task: slice_test    Mean: 350.266 ns
  Latency (us)    | Count
  ------------------------------
  EXPIRED         | 238
  0 us            | 143189
  1 us            | 167
  2 us            | 26
  3 us            | 11
  4 us            | 28
  5 us            | 31
  6 us            | 22
  7 us            | 23
  8 us            | 32
  9 us            | 16
  10 us           | 35

Lower the minimal (and default) value to 5 usecs -- which is still massive.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260121143208.073200729@infradead.org
---
 Documentation/userspace-api/rseq.rst | 2 +-
 kernel/rseq.c                        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/userspace-api/rseq.rst b/Documentation/userspace-api/rseq.rst
index 29af6c3..468f6bb 100644
--- a/Documentation/userspace-api/rseq.rst
+++ b/Documentation/userspace-api/rseq.rst
@@ -79,7 +79,7 @@ slice extension by setting rseq::slice_ctrl::request to 1. If the thread is
 interrupted and the interrupt results in a reschedule request in the
 kernel, then the kernel can grant a time slice extension and return to
 userspace instead of scheduling out. The length of the extension is
-determined by debugfs:rseq/slice_ext_nsec. The default value is 10 usec; which
+determined by debugfs:rseq/slice_ext_nsec. The default value is 5 usec; which
 is the minimum value. It can be incremented to 50 usecs, however doing so
 can/will affect the minimum scheduling latency.
 
diff --git a/kernel/rseq.c b/kernel/rseq.c
index e423a9b..b0973d1 100644
--- a/kernel/rseq.c
+++ b/kernel/rseq.c
@@ -517,7 +517,7 @@ struct slice_timer {
 	void		*cookie;
 };
 
-static const unsigned int rseq_slice_ext_nsecs_min = 10 * NSEC_PER_USEC;
+static const unsigned int rseq_slice_ext_nsecs_min =  5 * NSEC_PER_USEC;
 static const unsigned int rseq_slice_ext_nsecs_max = 50 * NSEC_PER_USEC;
 unsigned int rseq_slice_ext_nsecs __read_mostly = rseq_slice_ext_nsecs_min;
 static DEFINE_PER_CPU(struct slice_timer, slice_timer);