Merge branch 'dev'

latency
tytydraco 4 years ago
commit 08b7176181

@ -30,7 +30,21 @@ fi
# Log the date and time for records sake
echo "Time of execution: $(date)"
# Limit max perf event processing time to 5% CPU usage
# We need to execute this multiple times because
# sched_downmirate must be less than sched_upmigrate, and
# sched_upmigrate must be greater than sched_downmigrate
for _ in $(seq 2)
do
# Migrate tasks down at this much load
write /proc/sys/kernel/sched_downmigrate 80
write /proc/sys/kernel/sched_group_downmigrate 80
# Migrate tasks up at this much load
write /proc/sys/kernel/sched_upmigrate 80
write /proc/sys/kernel/sched_group_upmigrate 80
done
# Limit max perf event processing time to this much CPU usage
write /proc/sys/kernel/perf_cpu_time_max_percent 5
# Do not group task groups automatically
@ -105,9 +119,9 @@ then
write /dev/stune/top-app/schedtune.prefer_idle 1
fi
avail_govs="$(cat "${cpu}scaling_available_governors")"
for cpu in /sys/devices/system/cpu/cpu*/cpufreq/
do
avail_govs="$(cat "${cpu}scaling_available_governors")"
case "$avail_govs" in
*schedutil*)
write "${cpu}scaling_governor" schedutil
@ -137,6 +151,7 @@ done
for queue in /sys/block/*/queue/
do
# Choose the first governor available
avail_scheds="$(cat "${queue}scheduler")"
for sched in cfq noop kyber bfq mq-deadline none
do
@ -147,9 +162,18 @@ do
fi
done
# Do not use I/O as a source of randomness
write "${queue}add_random" 0
# Disable I/O statistics accounting
write "${queue}iostats" 0
# Only attempt simple merges
write "${queue}nomerges" 1
# Force request completion on the origin CPU for maximum cache locality
write "${queue}rq_affinity" 2
# Reduce heuristic read-ahead in exchange for I/O latency
write "${queue}read_ahead_kb" 16

Loading…
Cancel
Save