[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160523202401.GA18670@intel.com>
Date: Tue, 24 May 2016 04:24:01 +0800
From: Yuyang Du <yuyang.du@...el.com>
To: Morten Rasmussen <morten.rasmussen@....com>
Cc: Vincent Guittot <vincent.guittot@...aro.org>,
Peter Zijlstra <peterz@...radead.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Mike Galbraith <efault@....de>, Ingo Molnar <mingo@...nel.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Wanpeng Li <wanpeng.li@...mail.com>
Subject: Re: [tip:sched/core] sched/fair: Correct unit of load_above_capacity
On Thu, May 19, 2016 at 04:36:38PM +0100, Morten Rasmussen wrote:
>
> And this is exactly you get with this patch :-) load_above_capacity
> (through max_pull) is multiplied by the group capacity to compute that
> actual amount of [load] to remove:
>
> env->imbalance = load_above_capacity * busiest->group_capacity /
> SCHED_CAPACITY_SCALE
>
> = 1*NICE_0_LOAD * 3*SCHED_CAPACITY_SCALE /
> SCHED_CAPACITY_SCALE
>
> = 3*NICE_0_LOAD
>
> I don't think we disagree on how it should work :-) Without the capacity
> scaling in this patch you get:
>
> env->imbalance = (6*SCHED_CAPACITY_SCALE - 3*SCHED_CAPACITY_SCALE) *
> 3*SCHED_CAPACITY_SCALE / SCHED_CAPACITY_SCALE
>
> = 9*SCHED_CAPACITY_SCALE
>
> Coming back to Yuyang's question. I think it should be NICE_0_LOAD to
> ensure that the resulting imbalance has the proper unit [load].
Sorry, I'm still confused. After this patch, the unit is indeed [load], the
load same as the weight visible to the user. However, you literally compared
it with sg_lb_stats's avg_load and load_per_task, which has the unit of
load_avg, which is scaled_load_down(NICE_0_LOAD). Am I missing something?
Powered by blists - more mailing lists