2021-02-25 03:06:13

by Daniel Lezcano

[permalink] [raw]
Subject: [PATCH 1/2] powercap/drivers/dtpm: Fix root node initialization

The root node is not set to NULL when the dtpm root node is
removed. Consequently, it is not possible to create a new root as it
is already set.

Set the root node to NULL when the last node is removed.

Signed-off-by: Daniel Lezcano <[email protected]>
---
drivers/powercap/dtpm.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/powercap/dtpm.c b/drivers/powercap/dtpm.c
index 5a51cd34a7e8..c2185ec5f887 100644
--- a/drivers/powercap/dtpm.c
+++ b/drivers/powercap/dtpm.c
@@ -207,6 +207,9 @@ int dtpm_release_zone(struct powercap_zone *pcz)
if (dtpm->ops)
dtpm->ops->release(dtpm);

+ if (root == dtpm)
+ root = NULL;
+
kfree(dtpm);

return 0;
--
2.17.1


2021-02-25 03:06:13

by Daniel Lezcano

[permalink] [raw]
Subject: [PATCH 2/2] powercap/drivers/dtpm: Add the experimental label to the option description

The DTPM framework will evolve in the next cycles. Let's add a
temporary EXPERIMENTAL tag to the option so users will be aware the
API may change over time.

Signed-off-by: Daniel Lezcano <[email protected]>
---
drivers/powercap/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/powercap/Kconfig b/drivers/powercap/Kconfig
index 20b4325c6161..8242e8c5ed77 100644
--- a/drivers/powercap/Kconfig
+++ b/drivers/powercap/Kconfig
@@ -45,7 +45,7 @@ config IDLE_INJECT
on a per CPU basis.

config DTPM
- bool "Power capping for Dynamic Thermal Power Management"
+ bool "Power capping for Dynamic Thermal Power Management (EXPERIMENTAL)"
help
This enables support for the power capping for the dynamic
thermal power management userspace engine.
--
2.17.1

2021-03-01 19:06:07

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH 1/2] powercap/drivers/dtpm: Fix root node initialization

On Wed, Feb 24, 2021 at 7:30 PM Daniel Lezcano
<[email protected]> wrote:
>
> The root node is not set to NULL when the dtpm root node is
> removed. Consequently, it is not possible to create a new root as it
> is already set.
>
> Set the root node to NULL when the last node is removed.
>
> Signed-off-by: Daniel Lezcano <[email protected]>
> ---
> drivers/powercap/dtpm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/powercap/dtpm.c b/drivers/powercap/dtpm.c
> index 5a51cd34a7e8..c2185ec5f887 100644
> --- a/drivers/powercap/dtpm.c
> +++ b/drivers/powercap/dtpm.c
> @@ -207,6 +207,9 @@ int dtpm_release_zone(struct powercap_zone *pcz)
> if (dtpm->ops)
> dtpm->ops->release(dtpm);
>
> + if (root == dtpm)
> + root = NULL;
> +
> kfree(dtpm);
>
> return 0;
> --

Applied along with the [2/2[ as 5.12-rc material, thanks!

2021-03-02 01:23:14

by Daniel Lezcano

[permalink] [raw]
Subject: Re: [PATCH 1/2] powercap/drivers/dtpm: Fix root node initialization

On 01/03/2021 17:45, Rafael J. Wysocki wrote:
> On Wed, Feb 24, 2021 at 7:30 PM Daniel Lezcano
> <[email protected]> wrote:
>>
>> The root node is not set to NULL when the dtpm root node is
>> removed. Consequently, it is not possible to create a new root as it
>> is already set.
>>
>> Set the root node to NULL when the last node is removed.
>>
>> Signed-off-by: Daniel Lezcano <[email protected]>
>> ---
>> drivers/powercap/dtpm.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/powercap/dtpm.c b/drivers/powercap/dtpm.c
>> index 5a51cd34a7e8..c2185ec5f887 100644
>> --- a/drivers/powercap/dtpm.c
>> +++ b/drivers/powercap/dtpm.c
>> @@ -207,6 +207,9 @@ int dtpm_release_zone(struct powercap_zone *pcz)
>> if (dtpm->ops)
>> dtpm->ops->release(dtpm);
>>
>> + if (root == dtpm)
>> + root = NULL;
>> +
>> kfree(dtpm);
>>
>> return 0;
>> --
>
> Applied along with the [2/2[ as 5.12-rc material, thanks!

Thanks


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