Re: [PATCH 2/2] sched: Rewrite per entity runnable load average tracking

From: Yuyang Du
Date: Fri Jul 11 2014 - 04:55:42 EST

On Fri, Jul 11, 2014 at 10:47:09AM +0200, Peter Zijlstra wrote:
> On Fri, Jul 11, 2014 at 07:22:07AM +0800, Yuyang Du wrote:
> > On Thu, Jul 10, 2014 at 12:08:59PM +0200, Peter Zijlstra wrote:
> > >
> > > Since clock_task is the regular clock minus some local amount, the
> > > difference between two regular clock reads is always a strict upper
> > > bound on clock_task differences.
> > >
> > This is inspiring. Regarding the clock source in load avg tracking,
> > should we simply use rq_clock_task instead of cfs_rq_clock_task.
> Oh *groan* I forgot about that thing. But no, it obviously doesn't
> matter for running time, because if you're throttled you're nor running
> and therefore it all doesn't matter, but it can make a huge difference
> for blocked time accounting I suppose.
> > For the bandwidth control case, just update/increase the last_update_time when
> > unthrottled by this throttled time, so the time would look like freezed. Am I
> > understanding right?
> Yes, it stops the clock when throttled.
> > Not sure how much bandwidth control is used, but even not used, every time
> > we read cfs_rq_clock_task, will burn useless cycles here.
> Yep, nothing much you can do about that.
> In any case, it is still the case that a normal clock difference is an
> upper bound.

I meant, not for this migrating case. But completely don't use cfs_rq_clock_task
in the entire load avg tracking (and specially compensate the throttle case). No?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at