According to this post, there are three kernel parameters for controlling process scheduler:
kernel.sched_min_granularity_ns
kernel.sched_latency_ns
kernel.sched_wakeup_granularity_ns
However, on my system which is Ubuntu, I don't see them. Instead, the following variables exist:
$ sudo sysctl -A | grep sched
kernel.sched_autogroup_enabled = 1
kernel.sched_cfs_bandwidth_slice_us = 5000
kernel.sched_child_runs_first = 0
kernel.sched_deadline_period_max_us = 4194304
kernel.sched_deadline_period_min_us = 100
kernel.sched_energy_aware = 1
kernel.sched_rr_timeslice_ms = 100
kernel.sched_rt_period_us = 1000000
kernel.sched_rt_runtime_us = 950000
kernel.sched_schedstats = 0
kernel.sched_util_clamp_max = 1024
kernel.sched_util_clamp_min = 1024
kernel.sched_util_clamp_min_rt_default = 1024
$ uname -r
5.13.0-27-generic
The question is, should I set them manually or they are replaced with some other variables?
sched_min_granularity_ns
, but it ismin_granularity_ns
. – mahmood Apr 09 '22 at 17:29