lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 26 Feb 2015 18:16:09 -0400
From:	Eduardo Valentin <edubezval@...il.com>
To:	Javi Merino <javi.merino@....com>
Cc:	rui.zhang@...el.com, linux-pm@...r.kernel.org,
	linux-kernel@...r.kernel.org, punit.agrawal@....com,
	broonie@...nel.org, tixy@...aro.org
Subject: Re: [PATCH v2 0/7] The power allocator thermal governor

On Thu, Feb 26, 2015 at 07:00:26PM +0000, Javi Merino wrote:
> 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 an extended cooling device API
> introduced in patch 2 (thermal: extend the cooling device API to
> include power information).  Patch 3 (thermal: cpu_cooling: implement
> the power cooling device API) extends the cpu cooling device using a
> simple power model.
> 
> This series are based on branch "linus" of Eduardo's linux-soc-thermal
> tree:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal.git
> 
> Changes since v1:
>   - Removed a memory leak pointed out by Steve Rostedt
>   - Relax the constraint of the trip points to be the first and last
>     passive trip point as Lina Iyer suggested.
>   - Update how the governor treats weights to mimic the behavior of
>     fair share in v3 of the weight fixes series.
>   - Don't cache the cpufreq_cooling_device and scan for it whenever
>     we need it.
>   - Consider the rate of changes in the derivative term of the PID
>     controller
> 
> Changes since RFC v6:
>   - Addressed Eduardo's review
>     + Pass the interval to the static power function as suggested by
>       Eduardo
>     + Make the cooling device ops return 0 or -E* and put the
>       calculation in a parameter, like the rest of the cooling device
>       ops
>     + Documentation improvements
>   - Use thermal_cdev_update() to change cooling device states
>   - Add a patch to export the power allocator governor's tzp
>     parameters to sysfs
> 
> Changes since RFC v5:
>   - Addressed Stephen's review of the trace patches.
>   - Removed power actors and extended the cooling device interface
>     instead.
>   - Let platforms override the power allocator governor parameters in
>     their thermal zone parameters
> 
> Changes since RFC v4:
>   - Add more tracing
>   - Document some of the limitations of the power allocator governor
>   - Export the power_actor API and move power_actor.h to include/linux
> 
> Changes since RFC 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 RFC 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 RFC 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
> 
> Cheers,
> Javi & Punit
> 
> Javi Merino (6):
>   thermal: let governors have private data for each thermal zone
>   thermal: extend the cooling device API to include power information
>   thermal: cpu_cooling: implement the power cooling device API
>   thermal: introduce the Power Allocator governor
>   thermal: add trace events to the power allocator governor
>   thermal: export thermal_zone_parameters to sysfs

I am applying patches 1-3 and 6. Patches 4 and 7 need extra effort, but are
minor changes. Patch 5 depends on 4, so, cannot be applied now.

> 
> Punit Agrawal (1):
>   of: thermal: Introduce sustainable power for a thermal zone
> 
>  .../devicetree/bindings/thermal/thermal.txt        |   9 +
>  Documentation/thermal/cpu-cooling-api.txt          | 156 +++++-
>  Documentation/thermal/power_allocator.txt          | 247 +++++++++
>  Documentation/thermal/sysfs-api.txt                |  52 ++
>  drivers/thermal/Kconfig                            |  15 +
>  drivers/thermal/Makefile                           |   1 +
>  drivers/thermal/cpu_cooling.c                      | 610 ++++++++++++++++++++-
>  drivers/thermal/of-thermal.c                       |   4 +
>  drivers/thermal/power_allocator.c                  | 533 ++++++++++++++++++
>  drivers/thermal/thermal_core.c                     | 254 ++++++++-
>  drivers/thermal/thermal_core.h                     |   8 +
>  include/linux/cpu_cooling.h                        |  39 ++
>  include/linux/thermal.h                            |  64 ++-
>  include/trace/events/thermal.h                     |  58 ++
>  include/trace/events/thermal_power_allocator.h     |  87 +++
>  15 files changed, 2104 insertions(+), 33 deletions(-)
>  create mode 100644 Documentation/thermal/power_allocator.txt
>  create mode 100644 drivers/thermal/power_allocator.c
>  create mode 100644 include/trace/events/thermal_power_allocator.h
> 
> -- 
> 1.9.1
> 

Download attachment "signature.asc" of type "application/pgp-signature" (474 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ