Re: [RESEND PATCH v2] sched/fair: Remove check in idle_balance against migration_cost

From: Peter Zijlstra
Date: Fri Mar 16 2018 - 10:36:07 EST


On Wed, Mar 14, 2018 at 11:36:47AM -0700, Rohit Jain wrote:
> Signed-off-by: Rohit Jain <rohit.k.jain@xxxxxxxxxx>
>
> Signed-off-by: Rohit Jain <rohit.k.jain@xxxxxxxxxx>

Surely you only need a single on of those.

> ---
> kernel/sched/fair.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 5eb3ffc..569ea83 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -8804,8 +8804,7 @@ static int idle_balance(struct rq *this_rq, struct rq_flags *rf)
> */
> rq_unpin_lock(this_rq, rf);
>
> - if (this_rq->avg_idle < sysctl_sched_migration_cost ||
> - !this_rq->rd->overload) {
> + if (!this_rq->rd->overload) {
> rcu_read_lock();
> sd = rcu_dereference_check_sched_domain(this_rq->sd);
> if (sd)

I don't think that actually works right on the current tree. In
particular look at commit:

31e77c93e432 ("sched/fair: Update blocked load when newly idle")