2014-10-03 14:36:43

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH v6 3/6] sched: add utilization_avg_contrib

On Tue, Sep 23, 2014 at 06:08:02PM +0200, Vincent Guittot wrote:
> +++ b/kernel/sched/sched.h
> @@ -339,8 +339,14 @@ struct cfs_rq {
> * Under CFS, load is tracked on a per-entity basis and aggregated up.
> * This allows for the description of both thread and group usage (in
> * the FAIR_GROUP_SCHED case).
> + * runnable_load_avg is the sum of the load_avg_contrib of the
> + * sched_entities on the rq.

> + * blocked_load_avg is similar to runnable_load_avg except that its
> + * the blocked sched_entities on the rq.

Strictly speaking blocked entities aren't on a rq as such, but yeah, no
idea how to better put it. Just being a pedantic, which isn't helpful I
guess :-)

> + * utilization_load_avg is the sum of the average running time of the
> + * sched_entities on the rq.
> */

So I think there was some talk about a blocked_utilization thingy, which
would track the avg running time of the tasks currently asleep, right?

> + unsigned long runnable_load_avg, blocked_load_avg, utilization_load_avg;
> atomic64_t decay_counter;
> u64 last_decay;
> atomic_long_t removed_load;


2014-10-03 14:51:24

by Vincent Guittot

[permalink] [raw]
Subject: Re: [PATCH v6 3/6] sched: add utilization_avg_contrib

On 3 October 2014 16:36, Peter Zijlstra <[email protected]> wrote:
>
>> + * utilization_load_avg is the sum of the average running time of the
>> + * sched_entities on the rq.
>> */
>
> So I think there was some talk about a blocked_utilization thingy, which
> would track the avg running time of the tasks currently asleep, right?
>

yes. Do you mean that we should anticipate and rename
utilization_load_avg into utilization_runnable_avg to make space for a
utilization_blocked_avg that could be added in future ?

>> + unsigned long runnable_load_avg, blocked_load_avg, utilization_load_avg;
>> atomic64_t decay_counter;
>> u64 last_decay;
>> atomic_long_t removed_load;

2014-10-03 15:15:06

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH v6 3/6] sched: add utilization_avg_contrib

On Fri, Oct 03, 2014 at 04:51:01PM +0200, Vincent Guittot wrote:
> On 3 October 2014 16:36, Peter Zijlstra <[email protected]> wrote:
> >
> >> + * utilization_load_avg is the sum of the average running time of the
> >> + * sched_entities on the rq.
> >> */
> >
> > So I think there was some talk about a blocked_utilization thingy, which
> > would track the avg running time of the tasks currently asleep, right?
> >
>
> yes. Do you mean that we should anticipate and rename
> utilization_load_avg into utilization_runnable_avg to make space for a
> utilization_blocked_avg that could be added in future ?

nah, just trying to put things straight in my brain, including what is
'missing'.

2014-10-03 16:06:10

by Morten Rasmussen

[permalink] [raw]
Subject: Re: [PATCH v6 3/6] sched: add utilization_avg_contrib

On Fri, Oct 03, 2014 at 04:14:51PM +0100, Peter Zijlstra wrote:
> On Fri, Oct 03, 2014 at 04:51:01PM +0200, Vincent Guittot wrote:
> > On 3 October 2014 16:36, Peter Zijlstra <[email protected]> wrote:
> > >
> > >> + * utilization_load_avg is the sum of the average running time of the
> > >> + * sched_entities on the rq.
> > >> */
> > >
> > > So I think there was some talk about a blocked_utilization thingy, which
> > > would track the avg running time of the tasks currently asleep, right?
> > >
> >
> > yes. Do you mean that we should anticipate and rename
> > utilization_load_avg into utilization_runnable_avg to make space for a
> > utilization_blocked_avg that could be added in future ?
>
> nah, just trying to put things straight in my brain, including what is
> 'missing'.

As Ben pointed out in the scale-invariance thread, we need blocked
utilization. I fully agree with that. It doesn't make any sense not to
include it. In fact I do have the patch already.

If you want to rename utlization_load_avg you should name it
utilization_running_avg, not utilization_runnable_avg :) Or even better,
something shorter.