From 11686d59fe801ba22c3ecb09a42fb047893a6fe6 Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Mon, 9 Jan 2017 15:59:07 -0500 Subject: [PATCH] cpu-partitioning: enable timer migration As the cpu-partitioning profile does not use isolcpus=, the kernel can end up creating long living timers on nohz_full CPUs during early boot. Those timers will fire later, causing jitter. However, recent Linux kernel will always try to migrate unpinned timers away from nohz_full CPUs when timer migration is enabled which is what we want. NOTE: Older kernels would migrate unpinned timers from idle CPUs to busy CPUs without regard if the CPU is nohz_full. This would certainly cause trouble to applications that takes 100% of the CPU in user-space (eg. DPDK). So, enabling timer migration is only safe on recent kernels. Resolves: rhbz#1408308 Signed-off-by: Luiz Capitulino --- profiles/cpu-partitioning/tuned.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/profiles/cpu-partitioning/tuned.conf b/profiles/cpu-partitioning/tuned.conf index eefe76a..f3c9007 100644 --- a/profiles/cpu-partitioning/tuned.conf +++ b/profiles/cpu-partitioning/tuned.conf @@ -23,7 +23,7 @@ assert=${f:assertion:isolated_cores contains present CPU(s):${isolated_cores_exp kernel.hung_task_timeout_secs = 600 kernel.nmi_watchdog = 0 vm.stat_interval = 10 -kernel.timer_migration = 0 +kernel.timer_migration = 1 [sysfs] /sys/bus/workqueue/devices/writeback/cpumask = ${not_isolated_cpumask}