Use constants for scheduler tunables

Signed-off-by: tytydraco <tylernij@gmail.com>
latency
tytydraco 4 years ago
parent 3a1328c23e
commit 8146dbaf2d

@ -4,6 +4,12 @@
# Maximum unsigned integer size in C
UINT_MAX="4294967295"
# Duration in nnaoseconds of one scheduling period
SCHED_PERIOD="$((2 * 1000 * 1000))"
# How many tasks should we have at a maximum in one scheduling period
SCHED_TASKS="10"
write() {
# Bail out if file does not exist
[[ ! -f "$1" ]] && return 1
@ -60,13 +66,13 @@ write /proc/sys/kernel/sched_autogroup_enabled 0
write /proc/sys/kernel/sched_tunable_scaling 0
# Reduce the maximum scheduling period for lower latency
write /proc/sys/kernel/sched_latency_ns 2000000
write /proc/sys/kernel/sched_latency_ns "$SCHED_PERIOD"
# Schedule 10 tasks in the guarenteed sched period
write /proc/sys/kernel/sched_min_granularity_ns 200000
write /proc/sys/kernel/sched_min_granularity_ns "$((SCHED_PERIOD / SCHED_TASKS))"
# Require preeptive tasks to surpass half of a sched period in vmruntime
write /proc/sys/kernel/sched_wakeup_granularity_ns 1000000
write /proc/sys/kernel/sched_wakeup_granularity_ns "$((SCHED_PERIOD / 2))"
# Reduce the frequency of task migrations
write /proc/sys/kernel/sched_migration_cost_ns 5000000

Loading…
Cancel
Save