mbox series

[v2,0/3] Update blocked load

Message ID 1517944987-343-1-git-send-email-vincent.guittot@linaro.org
Headers show
Series Update blocked load | expand

Message

Vincent Guittot Feb. 6, 2018, 7:23 p.m. UTC
This patchset applies on top of Peter's sched/esting branch minus the last 2 commit:
56eb46798b33 ("sched: Clean up nohz enter/exit")

v2:
- minor naming updates

Vincent Guittot (3):
  sched: Stop nohz stats when decayed
  sched: reduce the periodic update duration
  sched: update blocked load when newly idle

 kernel/sched/fair.c  | 203 ++++++++++++++++++++++++++++++++++++++++++---------
 kernel/sched/sched.h |   1 +
 2 files changed, 169 insertions(+), 35 deletions(-)

-- 
2.7.4

Comments

Peter Zijlstra Feb. 6, 2018, 9:25 p.m. UTC | #1
On Tue, Feb 06, 2018 at 08:23:04PM +0100, Vincent Guittot wrote:
> This patchset applies on top of Peter's sched/esting branch minus the last 2 commit:

> 56eb46798b33 ("sched: Clean up nohz enter/exit")


So what will update the blocked load after we wake from a total idle?

I don't see anything here that would do that (yet?).
Vincent Guittot Feb. 6, 2018, 9:46 p.m. UTC | #2
On 6 February 2018 at 22:25, Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Feb 06, 2018 at 08:23:04PM +0100, Vincent Guittot wrote:

>> This patchset applies on top of Peter's sched/esting branch minus the last 2 commit:

>> 56eb46798b33 ("sched: Clean up nohz enter/exit")

>

> So what will update the blocked load after we wake from a total idle?

>

> I don't see anything here that would do that (yet?).


The fast wake up path uses only idle state and runnable load average.
The later is normally up to date and null ( thanks to the propagation
of runnable) because of the fact that we were totally idle.
For the other "slow" path, we need to update the utilization of the
CPUs when we use them (and the load as well even if we don't use it).
This will be part of another patch as the overhead need to be
evaluated

That should be enough to take the right decision at wake up from a
long total idle state

Then for a complete update of the load metric, we can either wait for
the next tick or kick an ilb at wake up (what you don't like).