From: Eduardo Valentin <edubezval@gmail.com>
To: Rui Zhang <rui.zhang@intel.com>,
ezequiel.garcia@free-electrons.com, amit.kachhap@linaro.org,
viresh.kumar@linaro.org, amit.daniel@samsung.com,
hongbo.zhang@linaro.com, andrew@lunn.ch, durgadoss.r@intel.com,
peter@piie.net, shawn.guo@linaro.org, aaron.lu@intel.com,
caesar.wang@rock-chips.com, b.zolnierkie@samsung.com,
l.majewski@samsung.com, vincenzo.frascino@st.com,
mperttunen@nvidia.com, mikko.perttunen@kapsi.fi,
srinivas.pandruvada@linux.intel.com,
jacob.jun.pan@linux.intel.com, bcousson@baylibre.com
Cc: LKML <linux-kernel@vger.kernel.org>,
Linux PM <linux-pm@vger.kernel.org>,
Eduardo Valentin <edubezval@gmail.com>
Subject: [PATCH RFC 12/12] Documentation: thermal docbook: introduce governor chapter
Date: Mon, 9 Feb 2015 17:34:13 -0400 [thread overview]
Message-ID: <1423517653-11359-13-git-send-email-edubezval@gmail.com> (raw)
In-Reply-To: <1423517653-11359-1-git-send-email-edubezval@gmail.com>
In this patch we add a chapter in the thermal docbook to
describe the existing governors. The chapter contains
one section per governor.
Each governor description includes the respective code documentation.
Each governor section contains a description of the governor
logic.
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
---
Documentation/DocBook/thermal.tmpl | 67 ++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/Documentation/DocBook/thermal.tmpl b/Documentation/DocBook/thermal.tmpl
index d6ebbea..cf1a198 100644
--- a/Documentation/DocBook/thermal.tmpl
+++ b/Documentation/DocBook/thermal.tmpl
@@ -212,6 +212,73 @@
</glossary>
</sect1>
</chapter>
+
+ <chapter id="governors">
+ <title>Thermal Governors</title>
+ <para>
+ </para>
+
+ <sect1 id="step_wise">
+ <title>step_wise Thermal Governor</title>
+ <para>Step Wise uses the trend of the thermal zone to
+ throttle. If the thermal zone is 'heating up' this
+ throttles all the cooling devices associated with the
+ zone and its particular trip point, by one step. If the
+ zone is 'cooling down' it brings back the performance
+ of the devices by one step.
+ </para>
+!Idrivers/thermal/step_wise.c
+!Pdrivers/thermal/step_wise.c Algorithm
+ </sect1>
+ <sect1 id="fair_share">
+ <title>fair_share Thermal Governor</title>
+ <para>Fair Share Governor uses three parameters to
+ calculate the new throttle state of the cooling devices
+ associated with the given zone. Parameters used for
+ Throttling:
+ </para>
+ <itemizedlist mark='opencircle'>
+ <listitem>P1. max_state: Maximum throttle state
+ exposed by the cooling device.</listitem>
+ <listitem>P2. weight[i]/100:</listitem>
+ <listitem>How 'effective' the 'i'th device is,
+ in cooling the given zone.</listitem>
+ <listitem>P3.
+ cur_trip_level/max_no_of_trips:</listitem>
+ </itemizedlist>
+ <para>This describes the extent to which the devices
+ should be throttled. We do not want to throttle too
+ much when we trip a lower temperature, whereas the
+ throttling is at full swing if we trip critical levels.
+ Heavily assumes the trip points are in ascending order
+ new_state of cooling device = P3 * P2 * P1.
+ </para>
+!Idrivers/thermal/fair_share.c
+ </sect1>
+ <sect1 id="bang_bang">
+ <title>bang_bang Thermal Governor</title>
+ <para>The Bang Bang Governor has a two point regulation
+ logic, deliver cooling state depending on the previous
+ state shown in this diagram: </para>
+ <para>If the fan is not running and temperature exceeds
+ trip_temp, the fan gets turned on. In case the fan is
+ running, temperature must fall below (trip_temp - hyst)
+ so that the fan gets turned off again.
+ </para>
+!Idrivers/thermal/gov_bang_bang.c
+ </sect1>
+ <sect1 id="user_space">
+ <title>user_space Thermal Governor</title>
+ <para> The User Space governor is outside the Kernel.
+ The Thermal Framework hands off the entire control to
+ userland if the User Space governor is assigned to a
+ thermal zone. A KOBJ_CHANGE UEvent notification is sent
+ to userland whenever a governor needs to take an
+ action.
+ </para>
+!Idrivers/thermal/user_space.c
+ </sect1>
+ </chapter>
<chapter id="api">
<title>Thermal Device Driver Writer API reference</title>
<para> This Chapter contains an API reference for Thermal driver writers.
--
2.1.3
next prev parent reply other threads:[~2015-02-10 0:38 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-09 21:34 [PATCH RFC 00/12] The Linux Kernel Thermal Framework Docbook Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 01/12] Documentation: Introduce Linux Kernel Thermal Framework DocBook Eduardo Valentin
2015-02-10 22:50 ` Randy Dunlap
2015-02-16 15:17 ` Eduardo Valentin
2015-02-18 11:13 ` Javi Merino
2015-02-09 21:34 ` [PATCH RFC 02/12] Documentation: thermal docbook: add glossary Eduardo Valentin
2015-02-10 22:50 ` Randy Dunlap
2015-02-16 15:19 ` Eduardo Valentin
2015-02-16 13:01 ` Mikko Perttunen
2015-02-17 3:22 ` Eduardo Valentin
2015-02-18 11:52 ` Javi Merino
2015-02-18 16:58 ` Srinivas Pandruvada
2015-02-17 3:27 ` Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 03/12] thermal: cpu_cooling: remove duplicate documentation entries Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 04/12] thermal: of-thermal: remove kernel doc warn Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 05/12] thermal: thermal.h: minor kernel doc fix Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 06/12] thermal: thermal_core: correct kernel doc wording on thermal_zone_get_temp Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 07/12] Documentation: thermal docbook: introduce API reference chapter Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 08/12] thermal: fair share: fix kernel doc entry Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 09/12] thermal: user space: " Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 10/12] thermal: bang bang: " Eduardo Valentin
2015-02-09 21:34 ` [PATCH RFC 11/12] thermal: step wise: " Eduardo Valentin
2015-02-09 21:34 ` Eduardo Valentin [this message]
2015-02-18 16:21 ` [PATCH RFC 12/12] Documentation: thermal docbook: introduce governor chapter Javi Merino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1423517653-11359-13-git-send-email-edubezval@gmail.com \
--to=edubezval@gmail.com \
--cc=aaron.lu@intel.com \
--cc=amit.daniel@samsung.com \
--cc=amit.kachhap@linaro.org \
--cc=andrew@lunn.ch \
--cc=b.zolnierkie@samsung.com \
--cc=bcousson@baylibre.com \
--cc=caesar.wang@rock-chips.com \
--cc=durgadoss.r@intel.com \
--cc=ezequiel.garcia@free-electrons.com \
--cc=hongbo.zhang@linaro.com \
--cc=jacob.jun.pan@linux.intel.com \
--cc=l.majewski@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mikko.perttunen@kapsi.fi \
--cc=mperttunen@nvidia.com \
--cc=peter@piie.net \
--cc=rui.zhang@intel.com \
--cc=shawn.guo@linaro.org \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=vincenzo.frascino@st.com \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).