Skip to content
  • Holger Hans Peter Freyther's avatar
    sched: Only setting CPUSchedulingPriority=rr doesn't work · bb112710
    Holger Hans Peter Freyther authored
    A service that only sets the scheduling policy to round-robin
    fails to be started. This is because the cpu_sched_priority is
    initialized to 0 and is not adjusted when the policy is changed.
    
    Clamp the cpu_sched_priority when the scheduler policy is set. Use
    the current policy to validate the new priority.
    
    Change the manual page to state that the given range only applies
    to the real-time scheduling policies.
    
    Add a testcase that verifies this change:
    
    $ make test-sched-prio; ./test-sched-prio
    [test/sched_idle_bad.service:6] CPU scheduling priority is out of range, ignoring: 1
    [test/sched_rr_bad.service:7] CPU scheduling priority is out of range, ignoring: 0
    [test/sched_rr_bad.service:8] CPU scheduling priority is out of range, ignoring: 100
    bb112710