[lkml]   [2013]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[RFC][PATCH 0/9] sched: Power scheduler design proposal

    This patch set is an initial prototype aiming at the overall power-aware
    scheduler design proposal that I previously described

    The patch set introduces a cpu capacity managing 'power scheduler' which lives
    by the side of the existing (process) scheduler. Its role is to monitor the
    system load and decide which cpus that should be available to the process
    scheduler. Long term the power scheduler is intended to replace the currently
    distributed uncoordinated power management policies and will interface a
    unified platform specific power driver obtain power topology information and
    handle idle and P-states. The power driver interface should be made flexible
    enough to support multiple platforms including Intel and ARM.

    This prototype supports very simple task packing and adds cpufreq wrapper
    governor that allows the power scheduler to drive P-state selection. The
    prototype policy is absolutely untuned, but this will be addressed in the
    future. Scalability improvements, such as avoid iterating over all cpus, will
    also be addressed in the future.


    Morten Rasmussen (9):
    sched: Introduce power scheduler
    sched: Redirect update_cpu_power to sched/power.c
    sched: Make select_idle_sibling() skip cpu with a cpu_power of 1
    sched: Make periodic load-balance disregard cpus with a cpu_power of
    sched: Make idle_balance() skip cpus with a cpu_power of 1
    sched: power: add power_domain data structure
    sched: power: Add power driver interface
    sched: power: Add initial frequency scaling support to power
    sched: power: cpufreq: Initial schedpower cpufreq governor

    arch/arm/Kconfig | 2 +
    drivers/cpufreq/Kconfig | 8 +
    drivers/cpufreq/Makefile | 1 +
    drivers/cpufreq/cpufreq_schedpower.c | 119 +++++++++++++
    include/linux/sched/power.h | 29 ++++
    kernel/Kconfig.power | 3 +
    kernel/sched/Makefile | 1 +
    kernel/sched/fair.c | 43 +++--
    kernel/sched/power.c | 307 ++++++++++++++++++++++++++++++++++
    kernel/sched/sched.h | 24 +++
    10 files changed, 525 insertions(+), 12 deletions(-)
    create mode 100644 drivers/cpufreq/cpufreq_schedpower.c
    create mode 100644 include/linux/sched/power.h
    create mode 100644 kernel/Kconfig.power
    create mode 100644 kernel/sched/power.c


     \ /
      Last update: 2013-07-10 23:39    [W:0.025 / U:31.060 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site