sched/nohz: Correctly initialize 'next_balance' in 'nohz' idle balancer
The 'next_balance' field of 'nohz' idle balancer must be initialized to jiffies. Since jiffies is initialized to negative 300 seconds the 'nohz' idle balancer does not run for the first 300s (5mins) after bootup. If no new processes are spawed or no idle cycles happen, the load on the cpus will remain unbalanced for that duration. Signed-off-by: Diwakar Tundlam <dtundlam@nvidia.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1DD7BFEDD3147247B1355BEFEFE4665237994F30EF@HQMAIL04.nvidia.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
5fbd036b55
commit
554cecaf73
|
@ -5571,6 +5571,7 @@ __init void init_sched_fair_class(void)
|
||||||
open_softirq(SCHED_SOFTIRQ, run_rebalance_domains);
|
open_softirq(SCHED_SOFTIRQ, run_rebalance_domains);
|
||||||
|
|
||||||
#ifdef CONFIG_NO_HZ
|
#ifdef CONFIG_NO_HZ
|
||||||
|
nohz.next_balance = jiffies;
|
||||||
zalloc_cpumask_var(&nohz.idle_cpus_mask, GFP_NOWAIT);
|
zalloc_cpumask_var(&nohz.idle_cpus_mask, GFP_NOWAIT);
|
||||||
cpu_notifier(sched_ilb_notifier, 0);
|
cpu_notifier(sched_ilb_notifier, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue