Re: [RFC PATCH 4/4] sched: Upload nohz full CPU load on task enqueue/dequeue

From: Peter Zijlstra
Date: Tue Jan 19 2016 - 08:17:30 EST


On Wed, Jan 13, 2016 at 05:01:31PM +0100, Frederic Weisbecker wrote:
> The full nohz CPU load is currently accounted on tick restart only.
> But there are a few issues with this model:
>
> _ On tick restart, if cpu_load[0] doesn't contain the load of the actual
> tickless load that just ran, we are going to account a wrong value.
> And it is very likely to be so given that cpu_load[0] doesn't have
> an opportunity to be updated between tick stop and tick restart.
>
> _ If the runqueue had updates that didn't trigger a tick restart, we
> are going to miss those CPU load changes.
>
> A solution to fix this is to update the CPU load everytime we enqueue
> or dequeue a task in the fair runqueue and more than a jiffy occured
> since the last update.

Would not a much better solution be to do this remotely instead of from
one of the hottest functions in the scheduler?