RE: [PATCH] scheduler: domain: init next_balance in nohz_idle_balancer with jiffies

Diwakar Tundlam
2012-01-31T19:23:30Z

Here's the patch for kernel 3.3-rc1:

** kernel/sched/fair.c 2012-01-31 11:19:52.032421593 -0800
***************
*** 5585,5597 ****

__init void init_sched_fair_class(void)
{
#ifdef CONFIG_SMP
open_softirq(SCHED_SOFTIRQ, run_rebalance_domains);

#ifdef CONFIG_NO_HZ
zalloc_cpumask_var(&nohz.idle_cpus_mask, GFP_NOWAIT);
+ nohz.next_balance = jiffies;
#endif
#endif /* SMP */

}
--- 5585,5596 ----

-----Original Message-----
From: Peter Zijlstra [mailto:peterz@infradead.org]
Sent: Tuesday, January 31, 2012 7:45 AM
To: Peter De Schrijver
Cc: Diwakar Tundlam; Ingo Molnar; linux-kernel@vger.kernel.org
Subject: Re: [PATCH] scheduler: domain: init next_balance in nohz_idle_balancer with jiffies

On Mon, 2012-01-30 at 14:44 +0200, Peter De Schrijver wrote:
> From: Diwakar Tundlam <dtundlam@nvidia.com>
>
> The next_balance parameter of nohz_idle_balancer should be initialized
> to jiffies since jiffies itself is initialized to 300 seconds shy of
> overflow. Otherwise, nohz_idle_balancer does not run for the first 5
> mins after bootup.
>
> Signed-off-by: Diwakar Tundlam <dtundlam@nvidia.com>
> Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
> Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
> Reviewed-by: Satya Popuri <spopuri@nvidia.com>
> ---
> kernel/sched.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)

You'll find that this file no longer exists...

> diff --git a/kernel/sched.c b/kernel/sched.c index b5efd6c..d3f291f
> 100644
> --- a/kernel/sched.c
> +++ b/kernel/sched.c
> @@ -8383,6 +8383,7 @@ void __init sched_init(void)
> atomic_set(&nohz.load_balancer, nr_cpu_ids);
> atomic_set(&nohz.first_pick_cpu, nr_cpu_ids);
> atomic_set(&nohz.second_pick_cpu, nr_cpu_ids);
> + nohz.next_balance = jiffies;
> #endif
> /* May be allocated at isolcpus cmdline parse time */
> if (cpu_isolated_map == NULL)

Not does this code section..