[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d8d3c50c-fee6-6f31-c085-d1ebce5297da@arm.com>
Date: Thu, 11 Mar 2021 10:15:19 +0000
From: Lukasz Luba <lukasz.luba@....com>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: rafael@...nel.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org
Subject: Re: [PATCH v3 1/5] powercap/drivers/dtpm: Encapsulate even more the
code
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@...aro.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.
Other than that
Reviewed-by: Lukasz Luba <lukasz.luba@....com>
Regards,
Lukasz
Powered by blists - more mailing lists