All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v4 0/7] The power allocator thermal governor
@ 2014-06-17  9:14 Javi Merino
  2014-06-17  9:14 ` [RFC PATCH v4 1/7] thermal: document struct thermal_zone_device and thermal_governor Javi Merino
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Javi Merino @ 2014-06-17  9:14 UTC (permalink / raw)
  To: linux-pm, linux-kernel; +Cc: punit.agrawal, broonie, Javi Merino

Hi linux-pm,

The power allocator governor allocates device power to control
temperature.  This requires transforming performance requests into
requested power, which we do with the aid of power models.  Patch 4
(thermal: add a basic cpu power actor) implements a simple power model
for cpus.  The division of power between the actors ensures that power
is allocated where it is needed the most, based on the current
workload.

Patch 1 is a generic documentation of the current thermal framework
and can be merged separately.

Changes since v3:
  - Use tz->passive to poll faster when the first trip point is hit.
  - Don't make a special directory for power_actors
  - Add a DT property for sustainable-power
  - Simplify the static power interface and pass the current thermal
    zone in every power_actor_ops to remove the controversial
    enum power_actor_types
  - Use locks with the actor_list list
  - Use cpufreq_get() to get the frequency of the cpu instead of
    using the notifiers.
  - Remove the prompt for THERMAL_POWER_ACTOR_CPU when configuring
    the kernel

Changes since v2:
  - Changed the PI controller into a PID controller
  - Added static power to the cpu power model
  - tz parameter max_dissipatable_power renamed to sustainable_power
  - Register the cpufreq cooling device as part of the
    power_cpu_actor registration.

Changes since v1:
  - Fixed finding cpufreq cooling devices in cpufreq_frequency_change()
  - Replaced the cooling device interface with a separate power actor
    API
  - Addressed most of Eduardo's comments
  - Incorporated ftrace support for bitmask to trace cpumasks

Todo:
  - Rethink the use of trip points and make it less intrusive
  - Let platforms override the power allocator governor parameters
  - Add more tracing and provide scripts to evaluate the proposal.
  - Tune it to achieve the temperature stability we are aiming for

Cheers,
Javi & Punit

Javi Merino (6):
  thermal: document struct thermal_zone_device and thermal_governor
  thermal: let governors have private data for each thermal zone
  thermal: introduce the Power Actor API
  thermal: add a basic cpu power actor
  thermal: introduce the Power Allocator governor
  thermal: add trace events to the power allocator governor

Punit Agrawal (1):
  of: thermal: Introduce sustainable power for a thermal zone

 .../devicetree/bindings/thermal/thermal.txt        |   4 +
 Documentation/thermal/power_actor.txt              | 181 ++++++++
 Documentation/thermal/power_allocator.txt          |  41 ++
 drivers/thermal/Kconfig                            |  21 +
 drivers/thermal/Makefile                           |   5 +
 drivers/thermal/cpu_actor.c                        | 484 +++++++++++++++++++++
 drivers/thermal/of-thermal.c                       |   4 +
 drivers/thermal/power_actor.c                      |  68 +++
 drivers/thermal/power_actor.h                      |  91 ++++
 drivers/thermal/power_allocator.c                  | 477 ++++++++++++++++++++
 drivers/thermal/thermal_core.c                     |  90 +++-
 drivers/thermal/thermal_core.h                     |   8 +
 include/linux/thermal.h                            |  63 ++-
 include/trace/events/thermal_power.h               |  62 +++
 14 files changed, 1588 insertions(+), 11 deletions(-)
 create mode 100644 Documentation/thermal/power_actor.txt
 create mode 100644 Documentation/thermal/power_allocator.txt
 create mode 100644 drivers/thermal/cpu_actor.c
 create mode 100644 drivers/thermal/power_actor.c
 create mode 100644 drivers/thermal/power_actor.h
 create mode 100644 drivers/thermal/power_allocator.c
 create mode 100644 include/trace/events/thermal_power.h

-- 
1.9.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-06-17 11:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-17  9:14 [RFC PATCH v4 0/7] The power allocator thermal governor Javi Merino
2014-06-17  9:14 ` [RFC PATCH v4 1/7] thermal: document struct thermal_zone_device and thermal_governor Javi Merino
2014-06-17  9:14 ` [RFC PATCH v4 2/7] thermal: let governors have private data for each thermal zone Javi Merino
2014-06-17  9:14 ` [RFC PATCH v4 3/7] thermal: introduce the Power Actor API Javi Merino
2014-06-17  9:14 ` [RFC PATCH v4 4/7] thermal: add a basic cpu power actor Javi Merino
2014-06-17  9:14 ` [RFC PATCH v4 5/7] thermal: introduce the Power Allocator governor Javi Merino
2014-06-17  9:14 ` [RFC PATCH v4 6/7] thermal: add trace events to the power allocator governor Javi Merino
2014-06-17 11:18   ` Steven Rostedt
2014-06-17 11:52     ` Javi Merino
2014-06-17  9:14 ` [RFC PATCH v4 7/7] of: thermal: Introduce sustainable power for a thermal zone Javi Merino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.