Re: [PATCH 8/8] acpi: fix NONE coordination for domain mapping failure

From: Rafael J. Wysocki
Date: Thu Nov 05 2020 - 08:06:09 EST


On Thu, Nov 5, 2020 at 1:57 PM Ionela Voinescu <ionela.voinescu@xxxxxxx> wrote:
>
> For errors parsing the _PSD domains, a separate domain is returned for
> each CPU in the failed _PSD domain with no coordination (as per previous
> comment). But contrary to the intention, the code was setting
> CPUFREQ_SHARED_TYPE_ALL as coordination type.
>
> Change shared_type to CPUFREQ_SHARED_TYPE_NONE in case of errors parsing
> the domain information. The function still return the error and the caller
> is free to bail out the domain initialisation altogether in that case.
>
> Given that both functions return domains with a single CPU, this change
> does not affect the functionality, but clarifies the intention.

Is this related to any other patches in the series?

> Signed-off-by: Ionela Voinescu <ionela.voinescu@xxxxxxx>
> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
> Cc: Len Brown <lenb@xxxxxxxxxx>
> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> ---
> drivers/acpi/cppc_acpi.c | 2 +-
> drivers/acpi/processor_perflib.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> index 75e36b909ae6..e1e46cc66eeb 100644
> --- a/drivers/acpi/cppc_acpi.c
> +++ b/drivers/acpi/cppc_acpi.c
> @@ -477,7 +477,7 @@ int acpi_get_psd_map(unsigned int cpu, struct psd_data *domain)
> /* Assume no coordination on any error parsing domain info */
> cpumask_clear(domain->shared_cpu_map);
> cpumask_set_cpu(cpu, domain->shared_cpu_map);
> - domain->shared_type = CPUFREQ_SHARED_TYPE_ALL;
> + domain->shared_type = CPUFREQ_SHARED_TYPE_NONE;
>
> return -EFAULT;
> }
> diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
> index 5909e8fa4013..5ce638537791 100644
> --- a/drivers/acpi/processor_perflib.c
> +++ b/drivers/acpi/processor_perflib.c
> @@ -710,7 +710,7 @@ int acpi_processor_preregister_performance(
> if (retval) {
> cpumask_clear(pr->performance->shared_cpu_map);
> cpumask_set_cpu(i, pr->performance->shared_cpu_map);
> - pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ALL;
> + pr->performance->shared_type = CPUFREQ_SHARED_TYPE_NONE;
> }
> pr->performance = NULL; /* Will be set for real in register */
> }
> --
> 2.17.1
>