On Tue, Jun 03, 2014 at 06:16:28PM +0100, Morten Rasmussen wrote: > > So the per-task-load-tracking stuff already does that. It updates the > > per-cpu load metrics on migration. See {de,en}queue_entity_load_avg(). > > I think there is some confusion here. There are two per-cpu load metrics > that tracks differently. > > The cfs.runnable_load_avg is basically the sum of the load contributions > of the tasks on the cfs rq. The sum gets updated whenever tasks are > {en,de}queued by adding/subtracting the load contribution of the task > being added/removed. That is the one you are referring to. > > The rq runnable_avg_sum (actually rq->avg.runnable_avg_{sum, period}) is > tracking whether the cpu has something to do or not. It doesn't matter > many tasks are runnable or what their load is. It is updated in > update_rq_runnable_avg(). It increases when rq->nr_running > 0 and > decays if not. It also takes time spent running rt tasks into account in > idle_{enter, exit}_fair(). So if you remove tasks from the rq, this > metric will start decaying and eventually get to 0, unlike the > cfs.runnable_load_avg where the task load contribution subtracted every > time a task is removed. The rq runnable_avg_sum is the one being used in > this patch set. > > Ben, pjt, please correct me if I'm wrong.
Argh, ok I completely missed that. I think the cfs.runnable_load_avg is the sane number, not entirely sure what good rq->avg.runnable_avg is good for, it seems a weird metric on first consideration. Will have to ponder that a bit more. -- 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/