mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Lukasz Luba <lukasz.luba@arm.com>
Cc: rafael@kernel.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: Re: [PATCH v3 1/5] powercap/drivers/dtpm: Encapsulate even more the code
Date: Thu, 11 Mar 2021 11:57:32 +0100	[thread overview]
Message-ID: <aa1ecdaa-3f91-c886-ce1e-45557d01991a@linaro.org> (raw)
In-Reply-To: <d8d3c50c-fee6-6f31-c085-d1ebce5297da@arm.com>

On 11/03/2021 11:15, Lukasz Luba wrote:
> Hi Daniel,
> 
> On 3/10/21 11:02 AM, Daniel Lezcano wrote:
>> In order to increase the self-encapsulation of the dtpm generic code,
>> the following changes are adding a power update ops to the dtpm
>> ops. That allows the generic code to call directly the dtpm backend
>> function to update the power values.
>>
>> The power update function does compute the power characteristics when
>> the function is invoked. In the case of the CPUs, the power
>> consumption depends on the number of online CPUs. The online CPUs mask
>> is not up to date at CPUHP_AP_ONLINE_DYN state in the tear down
>> callback. That is the reason why the online / offline are at separate
>> state. As there is already an existing state for DTPM, this one is
>> only moved to the DEAD state, so there is no addition of new state
>> with these changes. The dtpm node is not removed when the cpu is
>> unplugged.
>>
>> That simplifies the code for the next changes and results in a more
>> self-encapsulated code.
>>
>> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>> ---
>> V2:
>>   - Updated the changelog with the CPU node not being removed
>>   - Commented the cpu hotplug callbacks to explain why there are two
>> callbacks
>>   - Changed 'upt_power_uw' to 'update_power_uw'
>>   - Removed unused cpumask variable
>> ---
>>   drivers/powercap/dtpm.c     |  54 ++++++-------
>>   drivers/powercap/dtpm_cpu.c | 148 ++++++++++++++++--------------------
>>   include/linux/cpuhotplug.h  |   2 +-
>>   include/linux/dtpm.h        |   3 +-
>>   4 files changed, 97 insertions(+), 110 deletions(-)
>>
> 
> [snip]
> 
>> @@ -210,27 +175,20 @@ static int cpuhp_dtpm_cpu_online(unsigned int cpu)
>>       for_each_cpu(cpu, policy->related_cpus)
>>           per_cpu(dtpm_per_cpu, cpu) = dtpm;
>>   -    sprintf(name, "cpu%d", dtpm_cpu->cpu);
>> +    sprintf(name, "cpu%d-cpufreq", dtpm_cpu->cpu);
> 
> We should be safe in normal platforms, since there is less than
> < 300 cores. although, I would use 2x CPUFREQ_NAME_LEN array.

I'm counting 9999 cores.

We have:
#define CPUFREQ_NAME_LEN 16

"cpu-cpufreq\0" counts 12 characters.

There are 4 characters left, 9999 max then, no ?

The code is designed for cpufreq with the energy model which targets
ARM64 architecture and AFAICT we are far away of having so many cores on
our phones.

Except I'm wrong, I would prefer to keep the current CPUFREQ_NAME_LEN to
not introduce subtle bugs (like stack overflow) if the length is
increased in cpufreq.h.

What do you think ?

> Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
> 
> Regards,
> Lukasz
> 


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

  reply	other threads:[~2021-03-11 10:58 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-10 11:02 Daniel Lezcano
2021-03-10 11:02 ` [PATCH v3 2/5] powercap/drivers/dtpm: Create a registering system Daniel Lezcano
2021-03-11 10:23   ` Lukasz Luba
2021-03-10 11:02 ` [PATCH v3 3/5] powercap/drivers/dtpm: Simplify the dtpm table Daniel Lezcano
2021-03-10 11:02 ` [PATCH v3 4/5] powercap/drivers/dtpm: Use container_of instead of a private data field Daniel Lezcano
2021-03-10 11:02 ` [PATCH v3 5/5] powercap/drivers/dtpm: Scale the power with the load Daniel Lezcano
2021-03-10 11:22   ` Lukasz Luba
2021-03-11 10:15 ` [PATCH v3 1/5] powercap/drivers/dtpm: Encapsulate even more the code Lukasz Luba
2021-03-11 10:57   ` Daniel Lezcano [this message]
2021-03-12 10:11     ` Lukasz Luba
2021-03-12 10:22       ` Lukasz Luba

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=aa1ecdaa-3f91-c886-ce1e-45557d01991a@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=rafael@kernel.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

all inboxes | Powered by JetHome®