update_tg_load_avg — update the tg's load avg
void update_tg_load_avg ( | struct cfs_rq * cfs_rq, |
int force) ; |
This function 'ensures': tg->load_avg := \Sum tg->cfs_rq[]->avg.load. However, because tg->load_avg is a global value there are performance considerations.
In order to avoid having to look at the other cfs_rq's, we use a differential update where we store the last value we propagated. This in turn allows skipping updates if the differential is 'small'.
Updating tg's load_avg is necessary before update_cfs_share
(which is
done) and effective_load
(which is not done because it is too costly).