Messages in this thread Patch in this message | | | From | <> | Subject | [PATCH v3 2/2] nohz: set isolcpus when nohz_full is set | Date | Wed, 8 Apr 2015 15:20:25 -0400 |
| |
From: Chris Metcalf <cmetcalf@ezchip.com>
nohz_full is only useful with isolcpus also set, since otherwise the scheduler has to run periodically to try to determine whether to steal work from other cores.
Accordingly, when booting with nohz_full=xxx on the command line, we should act as if isolcpus=xxx was also set, and set (or extend) the isolcpus set to include the nohz_full cpus.
Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com> Acked-by: Mike Galbraith <umgwanakikbuti@gmail.com> ["thumbs up!"] Acked-by: Rik van Riel <riel@redhat.com> --- v3: update changelog language to avoid using unclear "implies" [PeterZ]
kernel/sched/core.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index f0f831e8a345..275f12c608f2 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6836,6 +6836,7 @@ static int init_sched_domains(const struct cpumask *cpu_map) doms_cur = alloc_sched_domains(ndoms_cur); if (!doms_cur) doms_cur = &fallback_doms; + tick_nohz_full_set_cpus(cpu_isolated_map); cpumask_andnot(doms_cur[0], cpu_map, cpu_isolated_map); err = build_sched_domains(doms_cur[0], NULL); register_sched_domain_sysctl(); -- 2.1.2
| |