Re: [PATCH 01/32] nohz: Move nohz load balancer selection into idlelogic

From: Steven Rostedt
Date: Tue Oct 30 2012 - 11:39:06 EST



On Tue, 2012-10-30 at 16:32 +0800, Charles Wang wrote:
> calc_load_exit_idle depends on updated jiffies, so you shouldn't move
> this before tick_do_update_jiffies64.

OK, so it should be moved to the end of the if block. Note, that was a
change I made, as that function was added since Frederic did his code. I
looked into the code and it seemed that it should be moved for just idle
as well. But I agree with you that it should be after the jiffies
update.


> And why should we do nohz_balance_enter_idle in tick_nohz_idle_exit?
> It's nohz_balance_exit_idle here.

OK, that's my fault as well. As Frederic's original patch just moved
select_nohz_load_balance(0). But the commit c1cc017c59 "sched/nohz:
Clean up select_nohz_load_balancer()" replaced it with
nohz_balance_enter_idle(cpu), and removed it on exit, there was nothing
to replace for the current code.

Knowing this patch was considered "buggy" instead of just not moving it
(and forgetting about it), I did the change to remind myself to talk
about it :-)

My question is now, is there any reason to keep that call there? Or can
we just remove it as well.

-- Steve


>
> Regards,
> Charles
>
> On 10/30/2012 04:27 AM, Steven Rostedt wrote:
> ïsnippedï
> > @@ -573,7 +573,6 @@ static void tick_nohz_restart_sched_tick(struct
> tick_sched *ts, ktime_t now)
> > tick_do_update_jiffies64(now);
> > update_cpu_load_nohz();
> >
> > - calc_load_exit_idle();
> > touch_softlockup_watchdog();
> > /*
> > * Cancel the scheduled timer and restore the tick
> > @@ -628,6 +627,8 @@ void tick_nohz_idle_exit(void)
> > tick_nohz_stop_idle(cpu, now);
> >
> > if (ts->tick_stopped) {
> > + nohz_balance_enter_idle(cpu);
> > + calc_load_exit_idle();
> > tick_nohz_restart_sched_tick(ts, now);
> > tick_nohz_account_idle_ticks(ts);
> > }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/