From 19da6f002208dd42b8f0b45fd9149ceca64a227a Mon Sep 17 00:00:00 2001 From: Tyler Nijmeh Date: Mon, 7 Sep 2020 17:53:16 -0700 Subject: [PATCH] Reduce realtime sched latency Signed-off-by: Tyler Nijmeh --- README.md | 4 ++-- system/bin/ktweak | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fc2dab3..3c70131 100644 --- a/README.md +++ b/README.md @@ -80,8 +80,8 @@ See RedHat: https://www.redhat.com/files/summit/session-assets/2018/Performance- ### kernel.sched_min_task_util_for_colocation: 35 --> 0 This value determines when top-app tasks (which are of greater priority than background tasks) can be sched_boosted. Set this value to zero to allow top-app tasks to always be upmigrated if the sched_{up,down}migrate values are met. -### kernel.sched_nr_migrate: 32 --> 128 -When migrating tasks between CPUs, allow the scheduler to migrate twice as many as usual. This should increase scheduling latency marginally, but increase the performance of SCHED_OTHER tasks. In testing, `cyclictest` reported a 2 microsecond increase in average latency, an a **decrease** in maximum latency of SCHED_FIFO tasks. +### kernel.sched_nr_migrate: 32 --> 16 +Reduce the maximum number of sched entities that can migrate in a single scheduling period. Reducing this value reduces realtime task latency at the cost of SCHED_OTHER throughput. ### kernel.sched_schedstats: 1 --> 0 Disable scheduler statistics accounting. This is just for debugging, but it adds overhead. diff --git a/system/bin/ktweak b/system/bin/ktweak index 6277b60..8bfa0d6 100644 --- a/system/bin/ktweak +++ b/system/bin/ktweak @@ -115,7 +115,7 @@ write /proc/sys/kernel/sched_min_granularity_ns 500000 write /proc/sys/kernel/sched_wakeup_granularity_ns 1000000 write /proc/sys/kernel/sched_migration_cost_ns 1000000 write /proc/sys/kernel/sched_min_task_util_for_colocation 0 -write /proc/sys/kernel/sched_nr_migrate 128 +write /proc/sys/kernel/sched_nr_migrate 16 write /proc/sys/kernel/sched_schedstats 0 # VM