Commit e6dbdd8f authored by Cyril Hrubis's avatar Cyril Hrubis Committed by Ingo Molnar
Browse files

sched/rt/docs: Clarify & fix sched_rt_* sysctl docs



- Describe explicitly that sched_rt_runtime_us is allocated from
  sched_rt_period_us and hence always less or equal to that value.

- The limit for sched_rt_runtime_us is not INT_MAX-1, but rather it's
  limited by the value of sched_rt_period_us. If sched_rt_period_us is
  INT_MAX then sched_rt_runtime_us can be set to INT_MAX as well.

Signed-off-by: default avatarCyril Hrubis <chrubis@suse.cz>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20231002115553.3007-3-chrubis@suse.cz
parent 079be8fc
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -87,18 +87,20 @@ lack an EDF scheduler to make non-uniform periods usable.
The system wide settings are configured under the /proc virtual file system:

/proc/sys/kernel/sched_rt_period_us:
  The scheduling period that is equivalent to 100% CPU bandwidth
  The scheduling period that is equivalent to 100% CPU bandwidth.

/proc/sys/kernel/sched_rt_runtime_us:
  A global limit on how much time realtime scheduling may use.  Even without
  CONFIG_RT_GROUP_SCHED enabled, this will limit time reserved to realtime
  processes. With CONFIG_RT_GROUP_SCHED it signifies the total bandwidth
  available to all realtime groups.
  A global limit on how much time realtime scheduling may use. This is always
  less or equal to the period_us, as it denotes the time allocated from the
  period_us for the realtime tasks. Even without CONFIG_RT_GROUP_SCHED enabled,
  this will limit time reserved to realtime processes. With
  CONFIG_RT_GROUP_SCHED=y it signifies the total bandwidth available to all
  realtime groups.

  * Time is specified in us because the interface is s32. This gives an
    operating range from 1us to about 35 minutes.
  * sched_rt_period_us takes values from 1 to INT_MAX.
  * sched_rt_runtime_us takes values from -1 to (INT_MAX - 1).
  * sched_rt_runtime_us takes values from -1 to sched_rt_period_us.
  * A run time of -1 specifies runtime == period, ie. no limit.