Re: [PATCH] cpufreq: Simplify MSR read on the boot CPU
From: Rafael J. Wysocki
Date: Tue Nov 12 2024 - 18:16:34 EST
On Wed, Nov 6, 2024 at 7:23 PM Chang S. Bae <chang.seok.bae@xxxxxxxxx> wrote:
>
> Replace the 32-bit MSR access function with a 64-bit variant to simplify
> the call site, eliminating unnecessary 32-bit value manipulations.
>
> Signed-off-by: Chang S. Bae <chang.seok.bae@xxxxxxxxx>
> Cc: Rafael J. Wysocki <rafael@xxxxxxxxxx>
> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> ---
> I've received feedback to use rdmsrl_on_cpu() instead of rdmsr_on_cpu()
> for similar code in my feature-enabling series [1]. While auditing the
> tree, I found this case as well, so here's another cleanup.
>
> [1] https://lore.kernel.org/lkml/e9afefb7-3c4e-48ee-aab1-2f338c4e989d@xxxxxxxxx/
> ---
> drivers/cpufreq/acpi-cpufreq.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
> index 0f04feb6cafa..b942cd11e179 100644
> --- a/drivers/cpufreq/acpi-cpufreq.c
> +++ b/drivers/cpufreq/acpi-cpufreq.c
> @@ -73,20 +73,17 @@ static unsigned int acpi_pstate_strict;
>
> static bool boost_state(unsigned int cpu)
> {
> - u32 lo, hi;
> u64 msr;
>
> switch (boot_cpu_data.x86_vendor) {
> case X86_VENDOR_INTEL:
> case X86_VENDOR_CENTAUR:
> case X86_VENDOR_ZHAOXIN:
> - rdmsr_on_cpu(cpu, MSR_IA32_MISC_ENABLE, &lo, &hi);
> - msr = lo | ((u64)hi << 32);
> + rdmsrl_on_cpu(cpu, MSR_IA32_MISC_ENABLE, &msr);
> return !(msr & MSR_IA32_MISC_ENABLE_TURBO_DISABLE);
> case X86_VENDOR_HYGON:
> case X86_VENDOR_AMD:
> - rdmsr_on_cpu(cpu, MSR_K7_HWCR, &lo, &hi);
> - msr = lo | ((u64)hi << 32);
> + rdmsrl_on_cpu(cpu, MSR_K7_HWCR, &msr);
> return !(msr & MSR_K7_HWCR_CPB_DIS);
> }
> return false;
> --
Applied as 6.13 material, thanks!