On Mon, Jul 14, 2014 at 06:54:11PM +0100, Dietmar Eggemann wrote:
__update_entity_runnable_avg() has an additional parameter 'running' so that it can be called for
a) sched_entities in update_entity_load_avg():
__update_entity_runnable_avg(..., se->on_rq, cfs_rq->curr == se))
b) rq's in update_rq_runnable_avg():
__update_entity_runnable_avg(..., runnable, runnable);
I can see how it gives us two different signals for a sched_entity but for a rq?
For rq,
__update_entity_runnable_avg(..., runnable, runnable > 0)
Then, first one would be effectively CPU ConCurrency (fair and !fair) and second one would be CPU (has task) running (or about CPU utilization for fair and !fair), :)
Thanks, Yuyang