Update the outdated information:
- The PREEMPT_RT patch is merged. The patch continues to exist (as of
now) but is not mandatory.
- The patch can be still downloaded but most people use the git tree
these days. Add a reference to it.
- CONFIG_PREEMPT_DESKTOP was never thing as far as I remember. It was
always CONFIG_PREEMPT and its description referred to "low latency
desktop".
- Within the PREEMPT-RT patch there was a brief window which introduced
PREEMPT_RT_BASE and PREEMPT_RT_FULL. I am going to ignore this.
- The introduction of PREEMPT_LAZY in 6.13 moved PREEMPT_RT from a
preemption model to an option.
- The mentioned wiki is deprecated. Update the URL to the new one.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
man/man7/sched.7 | 58 ++++++++++++++++++++++++++++++++++--------------
1 file changed, 41 insertions(+), 17 deletions(-)
diff --git a/man/man7/sched.7 b/man/man7/sched.7
index 3299c21dc1ad8..db7753c9e912c 100644
--- a/man/man7/sched.7
+++ b/man/man7/sched.7
@@ -933,16 +933,12 @@ the following to modify the autogroup nice value for
.EE
.in
.SS Real-time features in the mainline Linux kernel
-.\" FIXME . Probably this text will need some minor tweaking
-.\" ask Carsten Emde about this.
+.\" The archaeologist knows about v2.6.9-mm1-V0.1-realtime-preempt
Since Linux 2.6.18, Linux is gradually
becoming equipped with real-time capabilities,
most of which are derived from the former
.I realtime\-preempt
patch set.
-Until the patches have been completely merged into the
-mainline kernel,
-they must be installed to achieve the best real-time performance.
These patches are named:
.P
.in +4n
@@ -953,24 +949,52 @@ they must be installed to achieve the best real-time performance.
.P
and can be downloaded from
.UR http://www.kernel.org\:/pub\:/linux\:/kernel\:/projects\:/rt/
+.UE
+or cloned from a git tree
+.UR https://git.kernel.org\:/pub\:/scm\:/linux\:/kernel\:/git\:/rt\:/linux-stable-rt.git
.UE .
+The individual releases are maintained as long as
+the matching LTS kernel is maintained.
.P
-Without the patches and prior to their full inclusion into the mainline
-kernel, the kernel configuration offers only the three preemption classes
+Since 6.12 it possible to enable the real-time preemption
+without the need for any patches.
+The
+.I realtime\-patch
+continues to exist and contains support
+for not yet integrated architectures,
+drivers and features that are in development.
+.P
+Since 6.13 real-time becomes an option
+and not a preemption model.
+With this change,
+the following preemption models are available:
.BR CONFIG_PREEMPT_NONE ,
.BR CONFIG_PREEMPT_VOLUNTARY ,
+.BR CONFIG_PREEMPT ,
and
-.B CONFIG_PREEMPT_DESKTOP
-which respectively provide no, some, and considerable
-reduction of the worst-case scheduling latency.
-.P
-With the patches applied or after their full inclusion into the mainline
-kernel, the additional configuration item
+.BR CONFIG_PREEMPT_LAZY .
+The real-time capabilities can be enabled with the option
.B CONFIG_PREEMPT_RT
-becomes available.
-If this is selected, Linux is transformed into a regular
+and the preemption model be set to either
+.B CONFIG_PREEMPT
+or
+.BR CONFIG_PREEMPT_LAZY .
+The latter model is less eager to preempt
+.B SCHED_NORMAL
+tasks in an attempt to reduce lock holder preemption.
+It does not affect real-time tasks.
+.P
+With
+.B CONFIG_PREEMPT_RT
+enabled,
+Linux is transformed into a regular
real-time operating system.
-The FIFO and RR scheduling policies are then used to run a thread
+The
+.BR SCHED_FIFO ,
+.BR SCHED_RR ,
+and
+.B SCHED_DEADLINE
+scheduling policies are then used to run a thread
with true real-time priority and a minimum worst-case scheduling latency.
.SH NOTES
The
@@ -1032,5 +1056,5 @@ and
.I \%Documentation/\:scheduler/\:sched\-nice\-design\:.txt
.P
Worth looking at:
-.UR http://rt.wiki.kernel.org/\:index.php
+.UR https://wiki.linuxfoundation.org/\:realtime/\:start
.UE
--
2.51.0
Hi Sebastian, On Mon, Sep 15, 2025 at 04:13:02PM +0200, Sebastian Andrzej Siewior wrote: > Update the outdated information: > - The PREEMPT_RT patch is merged. The patch continues to exist (as of > now) but is not mandatory. > - The patch can be still downloaded but most people use the git tree > these days. Add a reference to it. > - CONFIG_PREEMPT_DESKTOP was never thing as far as I remember. It was > always CONFIG_PREEMPT and its description referred to "low latency > desktop". > - Within the PREEMPT-RT patch there was a brief window which introduced > PREEMPT_RT_BASE and PREEMPT_RT_FULL. I am going to ignore this. > - The introduction of PREEMPT_LAZY in 6.13 moved PREEMPT_RT from a > preemption model to an option. > - The mentioned wiki is deprecated. Update the URL to the new one. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Thanks! I've applied the patch, with the following amendment: diff --git i/man/man7/sched.7 w/man/man7/sched.7 index 51300d611..9622c1824 100644 --- i/man/man7/sched.7 +++ w/man/man7/sched.7 @@ -960,18 +960,18 @@ .SS Real-time features in the mainline Linux kernel or cloned from a git tree .UR https://git.kernel.org\:/pub\:/scm\:/linux\:/kernel\:/git\:/rt\:/linux-stable-rt.git .UE . -The individual releases are maintained as long as -the matching LTS kernel is maintained. +The individual releases are maintained +as long as the matching LTS kernel is maintained. .P -Since 6.12 it possible to enable the real-time preemption +Since Linux 6.12 it possible to enable the real-time preemption without the need for any patches. The .I realtime\-patch continues to exist and contains support -for not yet integrated architectures, -drivers and features that are in development. +for not-yet-integrated architectures, +drivers, and features that are in development. .P -Since 6.13 real-time becomes an option +Since Linux 6.13 real-time became an option and not a preemption model. With this change, the following preemption models are available: @@ -982,13 +982,13 @@ .SS Real-time features in the mainline Linux kernel .BR CONFIG_PREEMPT_LAZY . The real-time capabilities can be enabled with the option .B CONFIG_PREEMPT_RT -and the preemption model be set to either +and the preemption model can be set to either .B CONFIG_PREEMPT or .BR CONFIG_PREEMPT_LAZY . The latter model is less eager to preempt .B SCHED_NORMAL -tasks in an attempt to reduce lock holder preemption. +tasks in an attempt to reduce lock-holder preemption. It does not affect real-time tasks. .P With Cheers, Alex > --- > man/man7/sched.7 | 58 ++++++++++++++++++++++++++++++++++-------------- > 1 file changed, 41 insertions(+), 17 deletions(-) > > diff --git a/man/man7/sched.7 b/man/man7/sched.7 > index 3299c21dc1ad8..db7753c9e912c 100644 > --- a/man/man7/sched.7 > +++ b/man/man7/sched.7 > @@ -933,16 +933,12 @@ the following to modify the autogroup nice value for > .EE > .in > .SS Real-time features in the mainline Linux kernel > -.\" FIXME . Probably this text will need some minor tweaking > -.\" ask Carsten Emde about this. > +.\" The archaeologist knows about v2.6.9-mm1-V0.1-realtime-preempt > Since Linux 2.6.18, Linux is gradually > becoming equipped with real-time capabilities, > most of which are derived from the former > .I realtime\-preempt > patch set. > -Until the patches have been completely merged into the > -mainline kernel, > -they must be installed to achieve the best real-time performance. > These patches are named: > .P > .in +4n > @@ -953,24 +949,52 @@ they must be installed to achieve the best real-time performance. > .P > and can be downloaded from > .UR http://www.kernel.org\:/pub\:/linux\:/kernel\:/projects\:/rt/ > +.UE > +or cloned from a git tree > +.UR https://git.kernel.org\:/pub\:/scm\:/linux\:/kernel\:/git\:/rt\:/linux-stable-rt.git > .UE . > +The individual releases are maintained as long as > +the matching LTS kernel is maintained. > .P > -Without the patches and prior to their full inclusion into the mainline > -kernel, the kernel configuration offers only the three preemption classes > +Since 6.12 it possible to enable the real-time preemption > +without the need for any patches. > +The > +.I realtime\-patch > +continues to exist and contains support > +for not yet integrated architectures, > +drivers and features that are in development. > +.P > +Since 6.13 real-time becomes an option > +and not a preemption model. > +With this change, > +the following preemption models are available: > .BR CONFIG_PREEMPT_NONE , > .BR CONFIG_PREEMPT_VOLUNTARY , > +.BR CONFIG_PREEMPT , > and > -.B CONFIG_PREEMPT_DESKTOP > -which respectively provide no, some, and considerable > -reduction of the worst-case scheduling latency. > -.P > -With the patches applied or after their full inclusion into the mainline > -kernel, the additional configuration item > +.BR CONFIG_PREEMPT_LAZY . > +The real-time capabilities can be enabled with the option > .B CONFIG_PREEMPT_RT > -becomes available. > -If this is selected, Linux is transformed into a regular > +and the preemption model be set to either > +.B CONFIG_PREEMPT > +or > +.BR CONFIG_PREEMPT_LAZY . > +The latter model is less eager to preempt > +.B SCHED_NORMAL > +tasks in an attempt to reduce lock holder preemption. > +It does not affect real-time tasks. > +.P > +With > +.B CONFIG_PREEMPT_RT > +enabled, > +Linux is transformed into a regular > real-time operating system. > -The FIFO and RR scheduling policies are then used to run a thread > +The > +.BR SCHED_FIFO , > +.BR SCHED_RR , > +and > +.B SCHED_DEADLINE > +scheduling policies are then used to run a thread > with true real-time priority and a minimum worst-case scheduling latency. > .SH NOTES > The > @@ -1032,5 +1056,5 @@ and > .I \%Documentation/\:scheduler/\:sched\-nice\-design\:.txt > .P > Worth looking at: > -.UR http://rt.wiki.kernel.org/\:index.php > +.UR https://wiki.linuxfoundation.org/\:realtime/\:start > .UE > -- > 2.51.0 > > -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>).
© 2016 - 2026 Red Hat, Inc.