• Vincent Guittot's avatar
    sched/pelt: Skip updating util_est when utilization is higher than CPU's capacity · 10a35e68
    Vincent Guittot authored
    util_est is mainly meant to be a lower-bound for tasks utilization.
    That's why task_util_est() returns the actual util_avg when it's higher
    than the estimated utilization.
    
    With new invaraince signal and without any special check on samples
    collection, if a task is limited because of thermal capping for
    example, we could end up overestimating its utilization and thus
    perhaps generating an unwanted frequency spike when the capping is
    relaxed... and (even worst) it will take some more activations for the
    estimated utilization to converge back to the actual utilization.
    
    Since we cannot easily know if there is idle time in a CPU when a task
    completes an activation with a utilization higher then the CPU capacity,
    we skip the sampling when utilization is higher than CPU's capacity.
    Suggested-by: default avatarPatrick Bellasi <patrick.bellasi@arm.com>
    Signed-off-by: default avatarVincent Guittot <vincent.guittot@linaro.org>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Morten.Rasmussen@arm.com
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: bsegall@google.com
    Cc: dietmar.eggemann@arm.com
    Cc: pjt@google.com
    Cc: pkondeti@codeaurora.org
    Cc: quentin.perret@arm.com
    Cc: rjw@rjwysocki.net
    Cc: srinivas.pandruvada@linux.intel.com
    Cc: thara.gopinath@linaro.org
    Link: https://lkml.kernel.org/r/1548257214-13745-4-git-send-email-vincent.guittot@linaro.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    10a35e68
sched.h 60.5 KB