Morten Rasmussen <[email protected]> writes: > Adds usage contribution tracking for both task and group entities. > Maintains a non-priority scaled se->avg.usage_avg_contrib for each > sched_entity and cfs_rq.usage_util_avg sum of all entity contributions. > The latter provides a more accurate estimate of the true cpu utilization > than the existing cfs_rq.runnable_load_avg (+blocked_load_avg). > > Unlike se->avg.load_avg_contrib, se->avg.usage_avg_contrib for group > entities is the sum of se->avg.usage_avg_contrib for all entities on the > group runqueue. It is _not_ influenced in any way by the task group > h_load. Hence it is representing the actual cpu usage of the group, not > its intended load contribution which may differ significantly from the > usage on lightly utilized systems. > > The cpu usage tracking is available as cpu_rq(cpu)->cfs.usage_util_avg. > No tracking of blocked usage has been implemented.
Isn't cfs_rq->usage_util_avg basically just se->avg.usage_avg_sum * 1024 / se->avg.runnable_avg_period, where se->group_cfs_rq == cfs_rq? (and for the rq as a whole, rq->avg) The fact that usage_util_avg doesn't track blocked usage seems more likely to be a problem than an advantage, but maybe not? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

