Messages in this thread | | | Date | Thu, 31 Mar 2016 14:34:24 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 1/2] sched/fair: move cpufreq hook to update_cfs_rq_load_avg() |
| |
On Thu, Mar 31, 2016 at 02:14:50PM +0200, Vincent Guittot wrote: > In fact, I looks for the sequence where the utilization of a rq is not > updated until the next tick but i can't find it.
No, util it always updated, however..
> If cpu doesn't share cache, task is added to wake list and an ipi is > sent and the utilization.
Here we run:
ttwu_do_activate() ttwu_activate() activate_task() enqueue_task() p->sched_class->enqueue_task() := enqueue_task_fair() update_load_avg() update_cfs_rq_load_avg() cfs_rq_util_change()
On the local cpu, and we can indeed call out to have the frequency changed.
> Otherwise, we directly enqueue the task on > the rq and the utilization is updated
But here we run it on a remote cpu, so we cannot call out and the frequency remains the same.
So if a remote wakeup on the same LLC domain happens, utilization will increase but we will not observe until the next tick.
| |