[PATCH v2 2/5] man/man7/sched.7: Update the real-time section

Sebastian Andrzej Siewior posted 5 patches 4 months, 3 weeks ago
[PATCH v2 2/5] man/man7/sched.7: Update the real-time section
Posted by Sebastian Andrzej Siewior 4 months, 3 weeks ago
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
Re: [PATCH v2 2/5] man/man7/sched.7: Update the real-time section
Posted by Alejandro Colomar 3 months, 3 weeks ago
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/>).