Skip to content
  • Quentin Perret's avatar
    sched/cpufreq: Prepare schedutil for Energy Aware Scheduling · 938e5e4b
    Quentin Perret authored
    
    
    Schedutil requests frequency by aggregating utilization signals from
    the scheduler (CFS, RT, DL, IRQ) and applying a 25% margin on top of
    them. Since Energy Aware Scheduling (EAS) needs to be able to predict
    the frequency requests, it needs to forecast the decisions made by the
    governor.
    
    In order to prepare the introduction of EAS, introduce
    schedutil_freq_util() to centralize the aforementioned signal
    aggregation and make it available to both schedutil and EAS. Since
    frequency selection and energy estimation still need to deal with RT and
    DL signals slightly differently, schedutil_freq_util() is called with a
    different 'type' parameter in those two contexts, and returns an
    aggregated utilization signal accordingly. While at it, introduce the
    map_util_freq() function which is designed to make schedutil's 25%
    margin usable easily for both sugov and EAS.
    
    As EAS will be able to predict schedutil's frequency requests more
    accurately than any other governor by design, it'd be sensible to make
    sure EAS cannot be used without schedutil. This will be done later, once
    EAS has actually been introduced.
    
    Suggested-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarQuentin Perret <quentin.perret@arm.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: adharmap@codeaurora.org
    Cc: chris.redpath@arm.com
    Cc: currojerez@riseup.net
    Cc: dietmar.eggemann@arm.com
    Cc: edubezval@gmail.com
    Cc: gregkh@linuxfoundation.org
    Cc: javi.merino@kernel.org
    Cc: joel@joelfernandes.org
    Cc: juri.lelli@redhat.com
    Cc: morten.rasmussen@arm.com
    Cc: patrick.bellasi@arm.com
    Cc: pkondeti@codeaurora.org
    Cc: rjw@rjwysocki.net
    Cc: skannan@codeaurora.org
    Cc: smuckle@google.com
    Cc: srinivas.pandruvada@linux.intel.com
    Cc: thara.gopinath@linaro.org
    Cc: tkjos@google.com
    Cc: valentin.schneider@arm.com
    Cc: vincent.guittot@linaro.org
    Cc: viresh.kumar@linaro.org
    Link: https://lkml.kernel.org/r/20181203095628.11858-3-quentin.perret@arm.com
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    938e5e4b