From 8c90de4ff61202bc12d71802afcd005af0638dbf Mon Sep 17 00:00:00 2001 From: Tyler Nijmeh Date: Fri, 18 Sep 2020 14:21:05 -0700 Subject: [PATCH] Reduce migrations further Signed-off-by: Tyler Nijmeh --- README.md | 2 +- ktweak | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 81aa141..5966465 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ Set the minimum task scheduling period to 0.5ms. With kernel.sched_latency_ns se ### kernel.sched_wakeup_granularity_ns: 1000000 (1ms) Require tasks to be running for at least 1ms longer than the waiting task before preemption can happen. Reducing this value to 1ms reduces wakeup preemption latencies by up to 50% at a 50th percentile and around 10% for higher percentiles. Hackbench scores suffer if this value is reduced too low. -### kernel.sched_migration_cost_ns: 500000 (0.5ms) --> 1000000 (1ms) +### kernel.sched_migration_cost_ns: 500000 (0.5ms) --> 5000000 (5ms) Increase the time that a task is considered to be cache hot. According to RedHat, increasing this tunable reduces the number of task migrations. This should reduce time spent balancing tasks and increase per-task performance. See RedHat: https://www.redhat.com/files/summit/session-assets/2018/Performance-analysis-and-tuning-of-Red-Hat-Enterprise-Linux-Part-1.pdf diff --git a/ktweak b/ktweak index 7d78c41..d4c0b59 100644 --- a/ktweak +++ b/ktweak @@ -94,7 +94,7 @@ write /proc/sys/kernel/sched_tunable_scaling 0 write /proc/sys/kernel/sched_latency_ns 5000000 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_migration_cost_ns 5000000 write /proc/sys/kernel/sched_min_task_util_for_colocation 0 write /proc/sys/kernel/sched_nr_migrate 16 write /proc/sys/kernel/sched_schedstats 0