• Quentin Perret's avatar
    sched/fair: Select an energy-efficient CPU on task wake-up · 732cd75b
    Quentin Perret authored
    If an Energy Model (EM) is available and if the system isn't
    overutilized, re-route waking tasks into an energy-aware placement
    algorithm. The selection of an energy-efficient CPU for a task
    is achieved by estimating the impact on system-level active energy
    resulting from the placement of the task on the CPU with the highest
    spare capacity in each performance domain. This strategy spreads tasks
    in a performance domain and avoids overly aggressive task packing. The
    best CPU energy-wise is then selected if it saves a large enough amount
    of energy with respect to prev_cpu.
    
    Although it has already shown significant benefits on some existing
    targets, this approach cannot scale to platforms with numerous CPUs.
    This is an attempt to do something useful as writing a fast heuristic
    that performs reasonably well on a broad spectrum of architectures isn't
    an easy task. As such, the scope of usability of the energy-aware
    wake-up path is restricted to systems with the SD_ASYM_CPUCAPACITY flag
    set, and where the EM isn't too complex.
    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: Peter Zijlstra <peterz@infradead.org>
    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-15-quentin.perret@arm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    732cd75b
fair.c 281 KB