Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Morten Rasmussen <morten.rasmussen <at> arm.com>
Subject: [RFC][PATCH 0/9] sched: Power scheduler design proposal
Newsgroups: gmane.linux.kernel
Date: Tuesday 9th July 2013 15:55:29 UTC (over 3 years ago)
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
 
CD: 3ms