From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: edubezval@gmail.com, kevin.wangtao@linaro.org,
leo.yan@linaro.org, vincent.guittot@linaro.org,
amit.kachhap@gmail.com, linux-kernel@vger.kernel.org,
Zhang Rui <rui.zhang@intel.com>,
Javi Merino <javi.merino@kernel.org>,
"open list:THERMAL" <linux-pm@vger.kernel.org>,
daniel.thompson@linaro.org
Subject: Re: [PATCH 8/8] thermal/drivers/cpu_cooling: Add the combo cpu cooling device
Date: Mon, 5 Feb 2018 11:32:25 +0100 [thread overview]
Message-ID: <911804cd-2f1d-a1f7-61a2-6c8b95a88d6b@linaro.org> (raw)
In-Reply-To: <20180205041734.GD28462@vireshk-i7>
On 05/02/2018 05:17, Viresh Kumar wrote:
> On 02-02-18, 15:30, Daniel Lezcano wrote:
>> On 02/02/2018 11:42, Viresh Kumar wrote:
>>> Here is how I see the whole thing now:
>>>
>>> - Yes we need individual support for both cpufreq and cpuidle cooling devices,
>>> and no one disagrees on that I believe.
>>>
>>> - There is nothing in the thermal framework that disallows both cpufreq and
>>> cpuidle cooling devices to co-exist. Both would be part of the same thermal
>>> zone and so will get throttled with the same thermal sensor event. And so we
>>> will end up trying to cool down the SoC using both cpufreq and cpuidle
>>> technique.
>>
>> No. It does not work because we will need different state for each
>> cooling device and we need some logic behind.
>
> Right, but I thought the cooling-maps can help us specify different cooling
> states for different cooling devices for the same trip point. Maybe my
> understanding of that is incorrect.
>
>>> - Now I am just wondering if we really need the "combo" functionality or not.
>>> Can we fine tune the DT cpu-cooling properties (existing ones) for a platform,
>>> so that it automatically acts as a combo cooling device? I am not 100% sure
>>> its gonna fly, but just wanted to make sure its not possible to work around
>>> with and then only try the combo device thing.
>>>
>>> For example, suppose that with just cpufreq-cooling device we need to take the
>>> CPU down to 1 GHz from 2 GHz if we cross temperature 'X'. What if we can change
>>> this policy from DT and say the cpufreq-cooling device goes to 1.5 GHz and
>>> cpuidle-cooling device takes us to idle for 'y' us, and the effect of
>>> combination of these two is >= the effect of the 1 GHz for just the
>>> cpufreq-cooling device.
>>>
>>> Is there any possibility of this to work ?
>>
>> It does not make sense. The combo does that automatically by computing
>> the power equivalence more precisely.
>
> Sure, but that works by creating a virtual combo-cooling device instead of two
> separate cooling devices and then there are several limitation (at least right
> now) where it doesn't sense the real situation automagically. For example I
> would expect the combo to just work with cpuidle if cpufreq isn't present and as
> soon as cpufreq comes in, covert itself to cpufreq+cpuidle. I was just trying to
> present another view at solving the problem at hand, not that one is better
> than the other.
At the first glance, it sounds interesting but I'm afraid that raises
more corner-cases than it solves because we have to take into account
all the combinations: cpuidle=0 && cpufreq=1, cpuidle=1 && cpufreq=0,
cpuidle=1 && cpufreq=1 with dynamic code changes when the cpufreq driver
is loaded/unloaded.
I'm not against this approach as well as merging all the cpu cooling
devices into a single one but that won't be trivial and will need
several iterations before reaching this level of features.
IMO, we should keep the current approach (but handle the cpufreq
loading/unloading) and then iteratively merge all the cooling device
into a single one with policy change at runtime which will automatically
handle the cpufreq load/unload.
However I'm open to suggestion.
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
next prev parent reply other threads:[~2018-02-05 10:32 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-23 15:34 [PATCH 0/8] CPU cooling device new strategies Daniel Lezcano
2018-01-23 15:34 ` [PATCH 1/8] thermal/drivers/cpu_cooling: Fixup the header and copyright Daniel Lezcano
2018-01-31 5:17 ` Viresh Kumar
2018-01-31 7:03 ` Daniel Lezcano
2018-01-23 15:34 ` [PATCH 2/8] thermal/drivers/cpu_cooling: Add Software Package Data Exchange (SPDX) Daniel Lezcano
2018-01-31 5:18 ` Viresh Kumar
2018-02-08 14:05 ` Philippe Ombredanne
2018-02-08 14:07 ` Daniel Lezcano
2018-01-23 15:34 ` [PATCH 3/8] thermal/drivers/cpu_cooling: Remove pointless field Daniel Lezcano
2018-01-31 5:20 ` Viresh Kumar
2018-01-23 15:34 ` [PATCH 4/8] thermal/drivers/Kconfig: Convert the CPU cooling device to a choice Daniel Lezcano
2018-01-24 16:34 ` Daniel Thompson
2018-01-24 16:59 ` Daniel Lezcano
2018-01-25 10:57 ` Daniel Thompson
2018-01-25 13:36 ` Daniel Lezcano
2018-01-26 12:16 ` Daniel Thompson
2018-01-26 13:25 ` Daniel Lezcano
2018-01-31 10:09 ` Daniel Thompson
2018-02-07 9:04 ` Viresh Kumar
2018-02-07 10:15 ` Daniel Lezcano
2018-02-07 10:20 ` Viresh Kumar
2018-01-23 15:34 ` [PATCH 5/8] thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver Daniel Lezcano
2018-01-31 9:01 ` Vincent Guittot
2018-01-31 9:33 ` Daniel Lezcano
2018-01-31 9:46 ` Vincent Guittot
2018-01-31 9:50 ` Daniel Lezcano
2018-01-31 9:56 ` Vincent Guittot
2018-01-31 15:27 ` Daniel Lezcano
2018-02-01 7:57 ` Vincent Guittot
2018-02-01 8:25 ` Daniel Lezcano
2018-02-05 13:54 ` Daniel Thompson
2018-02-06 11:34 ` Daniel Lezcano
2018-02-07 9:12 ` Viresh Kumar
2018-02-07 10:34 ` Daniel Lezcano
2018-02-07 10:41 ` Viresh Kumar
2018-02-09 9:41 ` Viresh Kumar
2018-02-16 17:39 ` Daniel Lezcano
2018-01-23 15:34 ` [PATCH 6/8] thermal/drivers/cpu_cooling: Add idle cooling device documentation Daniel Lezcano
2018-01-23 15:34 ` [PATCH 7/8] cpuidle/drivers/cpuidle-arm: Register the cooling device Daniel Lezcano
2018-01-23 15:34 ` [PATCH 8/8] thermal/drivers/cpu_cooling: Add the combo cpu " Daniel Lezcano
2018-02-02 10:42 ` Viresh Kumar
2018-02-02 14:30 ` Daniel Lezcano
2018-02-05 4:17 ` Viresh Kumar
2018-02-05 10:32 ` Daniel Lezcano [this message]
2018-02-06 4:28 ` Viresh Kumar
2018-02-06 10:48 ` Daniel Lezcano
2018-02-07 7:26 ` Viresh Kumar
2018-02-07 10:05 ` Daniel Lezcano
2018-02-09 9:44 ` Viresh Kumar
2018-02-16 9:11 ` Daniel Lezcano
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=911804cd-2f1d-a1f7-61a2-6c8b95a88d6b@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=amit.kachhap@gmail.com \
--cc=daniel.thompson@linaro.org \
--cc=edubezval@gmail.com \
--cc=javi.merino@kernel.org \
--cc=kevin.wangtao@linaro.org \
--cc=leo.yan@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rui.zhang@intel.com \
--cc=vincent.guittot@linaro.org \
--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