Messages in this thread | | | From | Vincent Guittot <> | Date | Fri, 14 Feb 2020 08:48:18 +0100 | Subject | Re: [RFC 4/4] sched/fair: Take into runnable_avg to classify group |
| |
On Thu, 13 Feb 2020 at 19:37, Valentin Schneider <valentin.schneider@arm.com> wrote: > > On 2/13/20 6:32 PM, Valentin Schneider wrote: > >> @@ -7911,6 +7912,10 @@ group_has_capacity(unsigned int imbalance_pct, struct sg_lb_stats *sgs) > >> if (sgs->sum_nr_running < sgs->group_weight) > >> return true; > >> > >> + if ((sgs->group_capacity * imbalance_pct) < > >> + (sgs->group_runnable * 100)) > >> + return false; > >> + > > > > I haven't stared long enough at patch 2, but I'll ask anyway - with this new > > condition, do we still need the next one (based on util)? AIUI > > group_runnable is >= group_util, so if group_runnable is within the allowed > > margin then group_util has to be as well. > > > > Hmph, actually util_est breaks the runnable >= util assumption I think...
yes, that's 1 reason
and also the 2 conditions are a bit different as the imbalance_pct is not on the same side of the condition.
For util_avg, the tests is true when util_avg is still below but close to capacity For runnable_avg, the test is true when runnable is significantly above capacity
> > >> if ((sgs->group_capacity * 100) > > >> (sgs->group_util * imbalance_pct)) > >> return true;
| |