2022-08-23 08:58:33

by Riwen Lu

[permalink] [raw]
Subject: [PATCH v1] ACPI: processor: Remove freq Qos request for all CPUs

From: Riwen Lu <[email protected]>

The freq Qos request would be removed repeatedly if the cpufreq policy
relates to more than one CPU. Then, it would cause the "called for unknown
object" warning.

Remove the freq Qos request for each CPU relates to the cpufreq policy,
instead of removing repeatedly for the last CPU of it.

Fixes: a1bb46c36ce3 ("ACPI: processor: Add QoS requests for all CPUs")
Reported-by: Jeremy Linton <[email protected]>
Signed-off-by: Riwen Lu <[email protected]>
---
drivers/acpi/processor_thermal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
index db6ac540e924..e534fd49a67e 100644
--- a/drivers/acpi/processor_thermal.c
+++ b/drivers/acpi/processor_thermal.c
@@ -151,7 +151,7 @@ void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy)
unsigned int cpu;

for_each_cpu(cpu, policy->related_cpus) {
- struct acpi_processor *pr = per_cpu(processors, policy->cpu);
+ struct acpi_processor *pr = per_cpu(processors, cpu);

if (pr)
freq_qos_remove_request(&pr->thermal_req);
--
2.25.1


2022-08-23 15:29:45

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v1] ACPI: processor: Remove freq Qos request for all CPUs

On Tue, Aug 23, 2022 at 9:44 AM Riwen Lu <[email protected]> wrote:
>
> From: Riwen Lu <[email protected]>
>
> The freq Qos request would be removed repeatedly if the cpufreq policy
> relates to more than one CPU. Then, it would cause the "called for unknown
> object" warning.
>
> Remove the freq Qos request for each CPU relates to the cpufreq policy,
> instead of removing repeatedly for the last CPU of it.
>
> Fixes: a1bb46c36ce3 ("ACPI: processor: Add QoS requests for all CPUs")
> Reported-by: Jeremy Linton <[email protected]>
> Signed-off-by: Riwen Lu <[email protected]>
> ---
> drivers/acpi/processor_thermal.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
> index db6ac540e924..e534fd49a67e 100644
> --- a/drivers/acpi/processor_thermal.c
> +++ b/drivers/acpi/processor_thermal.c
> @@ -151,7 +151,7 @@ void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy)
> unsigned int cpu;
>
> for_each_cpu(cpu, policy->related_cpus) {
> - struct acpi_processor *pr = per_cpu(processors, policy->cpu);
> + struct acpi_processor *pr = per_cpu(processors, cpu);
>
> if (pr)
> freq_qos_remove_request(&pr->thermal_req);
> --

Thanks for fixing my mistake!

I've applied this one instead of the revert of commit 7fdc74da940d, as
6.0-rc material.

2022-08-23 18:59:25

by Jeremy Linton

[permalink] [raw]
Subject: Re: [PATCH v1] ACPI: processor: Remove freq Qos request for all CPUs

Hi,

On 8/23/22 02:43, Riwen Lu wrote:
> From: Riwen Lu <[email protected]>
>
> The freq Qos request would be removed repeatedly if the cpufreq policy
> relates to more than one CPU. Then, it would cause the "called for unknown
> object" warning.
>
> Remove the freq Qos request for each CPU relates to the cpufreq policy,
> instead of removing repeatedly for the last CPU of it.
>
> Fixes: a1bb46c36ce3 ("ACPI: processor: Add QoS requests for all CPUs")
> Reported-by: Jeremy Linton <[email protected]>
> Signed-off-by: Riwen Lu <[email protected]>
> ---
> drivers/acpi/processor_thermal.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
> index db6ac540e924..e534fd49a67e 100644
> --- a/drivers/acpi/processor_thermal.c
> +++ b/drivers/acpi/processor_thermal.c
> @@ -151,7 +151,7 @@ void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy)
> unsigned int cpu;
>
> for_each_cpu(cpu, policy->related_cpus) {
> - struct acpi_processor *pr = per_cpu(processors, policy->cpu);
> + struct acpi_processor *pr = per_cpu(processors, cpu);
>
> if (pr)
> freq_qos_remove_request(&pr->thermal_req);

This appears to have fixed the module unloading problem. I haven't seen
any newer issues either so:

Tested-by: Jeremy Linton <[email protected]>


Thanks,