linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


  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).