Re: [PATCH 2/2] sched: Fix next_balance logic in rebalance_domains() and idle_balance()

From: Jason Low
Date: Thu May 08 2014 - 12:59:34 EST


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.


--
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/