• Vincent Guittot's avatar
    sched: Calculate CPU's usage statistic and put it into struct sg_lb_stats::group_usage · 8bb5b00c
    Vincent Guittot authored
    Monitor the usage level of each group of each sched_domain level. The usage is
    the portion of cpu_capacity_orig that is currently used on a CPU or group of
    CPUs. We use the utilization_load_avg to evaluate the usage level of each
    group.
    
    The utilization_load_avg only takes into account the running time of the CFS
    tasks on a CPU with a maximum value of SCHED_LOAD_SCALE when the CPU is fully
    utilized. Nevertheless, we must cap utilization_load_avg which can be
    temporally greater than SCHED_LOAD_SCALE after the migration of a task on this
    CPU and until the metrics are stabilized.
    
    The utilization_load_avg is in the range [0..SCHED_LOAD_SCALE] to reflect the
    running load on the CPU whereas the available capacity for the CFS task is in
    the range [0..cpu_capacity_orig]. In order to test if a CPU is fully utilized
    by CFS tasks, we have to scale the utilization in the cpu_capacity_orig range
    of the CPU to get the usage of the latter. The usage can then be compared with
    the available capacity (ie cpu_capacity) to deduct the usage level of a CPU.
    
    The frequency scaling invariance of the usage is not taken into account in this
    patch, it will be solved in another patch which will deal with frequency
    scaling invariance on the utilization_load_avg.
    Signed-off-by: default avatarVincent Guittot <vincent.guittot@linaro.org>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarMorten Rasmussen <morten.rasmussen@arm.com>
    Cc: Morten.Rasmussen@arm.com
    Cc: dietmar.eggemann@arm.com
    Cc: efault@gmx.de
    Cc: kamalesh@linux.vnet.ibm.com
    Cc: linaro-kernel@lists.linaro.org
    Cc: nicolas.pitre@linaro.org
    Cc: preeti@linux.vnet.ibm.com
    Cc: riel@redhat.com
    Link: http://lkml.kernel.org/r/1425455327-13508-1-git-send-email-vincent.guittot@linaro.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    8bb5b00c
fair.c 215 KB