On 29 July 2014 03:43, Yuyang Du <yuyang...@intel.com> wrote: > On Tue, Jul 29, 2014 at 11:12:37AM +0200, Vincent Guittot wrote: >> >> >> >> Do you really need to have *w for computing the load_sum ? can't you >> >> only use it when computing the load_avg ? >> >> >> >> sa->load_avg = div_u64(sa->load_sum * w , LOAD_AVG_MAX) >> >> >> > >> > For task, assuming its load.weight does not change much, yes, we can. But >> > in theory, task's >> >> I would even say that the load_avg of a task should not be impacted by >> an old priority value. Once, the priority of a task is changed, we >> should only take into account this new priority to weight the load_avg >> of the task >> >> > load.weight can change, and *w in load_sum can take into that change. For >> > group entity >> > and cfs_rq, its load.weight changes all the time, I don't know how to do >> > it without *w >> > for load_sum. >> >> IMHO, we should apply the same policy than the one i mentioned for >> task. So the load_avg of an entity or a cfs_rq will not be disturbed >> by an old but no more valid weight >> > > Well, I see your point. But the problem is what matters is load_avg vs. > load_avg, not a > load_avg itself. So, if load_avg1 discards old weight if weight is changed, > but load_avg2 > has no weight changed or has weight changed, the comparison load_avg1 vs. > load_avg2 is not > fair, but too impacted by the new weight. The point is, we count in history, > so connt in the > real history, which is the whole point of why we count the history. Make > sense?
IIUC, you want to soften the impact of weight change on cfs_rq-> load_avg ? > > Thanks, > Yuyang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/