[patch V6 00/11] rseq: Implement time slice extension mechanism

From: Thomas Gleixner

Date: Mon Dec 15 2025 - 13:24:37 EST


This is a follow up on the V5 version:

https://lore.kernel.org/20251128225931.959481199@xxxxxxxxxxxxx

V1 contains a detailed explanation:

https://lore.kernel.org/20250908225709.144709889@xxxxxxxxxxxxx

TLDR: Time slice extensions are an attempt to provide opportunistic
priority ceiling without the overhead of an actual priority ceiling
protocol, but also without the guarantees such a protocol provides.

The intent is to avoid situations where a user space thread is interrupted
in a critical section and scheduled out, while holding a resource on which
the preempting thread or other threads in the system might block on. That
obviously prevents those threads from making progress in the worst case for
at least a full time slice. Especially in the context of user space
spinlocks, which are a patently bad idea to begin with, but that's also
true for other mechanisms.

This series uses the existing RSEQ user memory to implement it.

Changes vs. V5:

- Rebase on v6.19-rc1

- Fold typo fixes - Sebastian

- Switch to syscall number 471

The series is based on v6.19-rc1 and is also available from git:

git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git rseq/slice

Thanks,

tglx