[PATCH v1] cpufreq: ACPI: Use on_each_cpu_mask() in drv_write()

Rafael J. Wysocki posted 1 patch 3 weeks, 2 days ago
There is a newer version of this series
drivers/cpufreq/acpi-cpufreq.c |    8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
[PATCH v1] cpufreq: ACPI: Use on_each_cpu_mask() in drv_write()
Posted by Rafael J. Wysocki 3 weeks, 2 days ago
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Make drv_write() call on_each_cpu_mask() instead of using an open-coded
equivalent of the latter.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/cpufreq/acpi-cpufreq.c |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

--- a/drivers/cpufreq/acpi-cpufreq.c
+++ b/drivers/cpufreq/acpi-cpufreq.c
@@ -335,14 +335,8 @@ static void drv_write(struct acpi_cpufre
 		.val = val,
 		.func.write = data->cpu_freq_write,
 	};
-	int this_cpu;
 
-	this_cpu = get_cpu();
-	if (cpumask_test_cpu(this_cpu, mask))
-		do_drv_write(&cmd);
-
-	smp_call_function_many(mask, do_drv_write, &cmd, 1);
-	put_cpu();
+	on_each_cpu_mask(mask, do_drv_write, &cmd, true);
 }
 
 static u32 get_cur_val(const struct cpumask *mask, struct acpi_cpufreq_data *data)
Re: [PATCH v1] cpufreq: ACPI: Use on_each_cpu_mask() in drv_write()
Posted by Mario Limonciello 3 weeks, 1 day ago
On 9/9/25 6:41 AM, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Make drv_write() call on_each_cpu_mask() instead of using an open-coded
> equivalent of the latter.
> 
> No intentional functional impact.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---

I feel you should also update the comment before do_drv_write() to 
mention it's called with a NULL conditional to 
smp_call_function_many_cond(), or just drop that comment.

Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>

>   drivers/cpufreq/acpi-cpufreq.c |    8 +-------
>   1 file changed, 1 insertion(+), 7 deletions(-)
> 
> --- a/drivers/cpufreq/acpi-cpufreq.c
> +++ b/drivers/cpufreq/acpi-cpufreq.c
> @@ -335,14 +335,8 @@ static void drv_write(struct acpi_cpufre
>   		.val = val,
>   		.func.write = data->cpu_freq_write,
>   	};
> -	int this_cpu;
>   
> -	this_cpu = get_cpu();
> -	if (cpumask_test_cpu(this_cpu, mask))
> -		do_drv_write(&cmd);
> -
> -	smp_call_function_many(mask, do_drv_write, &cmd, 1);
> -	put_cpu();
> +	on_each_cpu_mask(mask, do_drv_write, &cmd, true);
>   }
>   
>   static u32 get_cur_val(const struct cpumask *mask, struct acpi_cpufreq_data *data)
> 
> 
>
Re: [PATCH v1] cpufreq: ACPI: Use on_each_cpu_mask() in drv_write()
Posted by Rafael J. Wysocki 3 weeks ago
On Wed, Sep 10, 2025 at 10:38 PM Mario Limonciello <superm1@kernel.org> wrote:
>
> On 9/9/25 6:41 AM, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > Make drv_write() call on_each_cpu_mask() instead of using an open-coded
> > equivalent of the latter.
> >
> > No intentional functional impact.
> >
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > ---
>
> I feel you should also update the comment before do_drv_write() to
> mention it's called with a NULL conditional to
> smp_call_function_many_cond(), or just drop that comment.

I'll drop it.

> Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>

Thanks!

> >   drivers/cpufreq/acpi-cpufreq.c |    8 +-------
> >   1 file changed, 1 insertion(+), 7 deletions(-)
> >
> > --- a/drivers/cpufreq/acpi-cpufreq.c
> > +++ b/drivers/cpufreq/acpi-cpufreq.c
> > @@ -335,14 +335,8 @@ static void drv_write(struct acpi_cpufre
> >               .val = val,
> >               .func.write = data->cpu_freq_write,
> >       };
> > -     int this_cpu;
> >
> > -     this_cpu = get_cpu();
> > -     if (cpumask_test_cpu(this_cpu, mask))
> > -             do_drv_write(&cmd);
> > -
> > -     smp_call_function_many(mask, do_drv_write, &cmd, 1);
> > -     put_cpu();
> > +     on_each_cpu_mask(mask, do_drv_write, &cmd, true);
> >   }
> >
> >   static u32 get_cur_val(const struct cpumask *mask, struct acpi_cpufreq_data *data)
> >
> >
> >
>