Messages in this thread | | | Date | Fri, 11 Jul 2014 10:47:09 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 2/2] sched: Rewrite per entity runnable load average tracking |
| |
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.
| |