Messages in this thread | | | Date | Fri, 11 Jul 2014 10:01:28 +0800 | From | Yuyang Du <> | Subject | Re: [PATCH 2/2] sched: Rewrite per entity runnable load average tracking |
| |
On Fri, Jul 11, 2014 at 08:52:01AM +0800, Yuyang Du wrote: > 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? > Oh, there seems no way to change every task's last_update_time when unthrottled.
Still, need cfs_rq_clock_task.
Thanks, Yuyang
| |