Hi,

This patch set is an initial prototype aiming at the overall power-aware
scheduler design proposal that I previously described
<http://permalink.gmane.org/gmane.linux.kernel/1508480>.

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.

Thanks,
Morten

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
    1
  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
    scheduler
  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

-- 
1.7.9.5


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to