On Thu, 2014-05-08 at 19:38 +0200, Ingo Molnar wrote: > * Jason Low <[email protected]> wrote: > > > On Mon, 2014-04-28 at 15:45 -0700, Jason Low wrote: > > > Currently, in idle_balance(), we update rq->next_balance when we > > > pull_tasks. > > > However, it is also important to update this in the !pulled_tasks case > > > too. > > > > > > When the CPU is "busy" (the CPU isn't idle), rq->next_balance gets > > > computed > > > using sd->busy_factor (so we increase the balance interval when the CPU is > > > busy). However, when the CPU goes idle, rq->next_balance could still be > > > set > > > to a large value that was computed with the sd->busy_factor. > > > > > > Thus, we need to also update rq->next_balance in idle_balance() in the > > > cases > > > where !pulled_tasks too, so that rq->next_balance gets updated without > > > taking > > > the busy_factor into account when the CPU is about to go idle. > > > > > > This patch makes rq->next_balance get updated independently of whether or > > > not we pulled_task. Also, we add logic to ensure that we always traverse > > > at least 1 of the sched domains to get a proper next_balance value for > > > updating rq->next_balance. > > > > > > Additionally, since load_balance() modifies the sd->balance_interval, we > > > need to re-obtain the sched domain's interval after the call to > > > load_balance() in rebalance_domains() before we update rq->next_balance. > > > > > > This patch adds and uses 2 new helper functions, update_next_balance() and > > > get_sd_balance_interval() to update next_balance and obtain the sched > > > domain's balance_interval. > > > > > > Hi Peter, > > > > I noticed that patch 1 is in tip, but not this patch 2. I was wondering > > what the current status with this [PATCH 2/2] is at the moment. > > It was crashing the bootup with the attached config, it gave the splat > attached below. (ignore the line duplication, it's a serial logging > artifact.)
Ah okay. I'll take a look at the code some more then. Thanks, Jason -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

