Message ID | 20240826211358.2694603-2-superm1@kernel.org (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | Adjustments for preferred core detection | expand |
[AMD Official Use Only - AMD Internal Distribution Only] > -----Original Message----- > From: Mario Limonciello <superm1@kernel.org> > Sent: Tuesday, August 27, 2024 5:14 AM > To: Borislav Petkov <bp@alien8.de>; Shenoy, Gautham Ranjal > <gautham.shenoy@amd.com>; Yuan, Perry <Perry.Yuan@amd.com> > Cc: maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT) <x86@kernel.org>; > Rafael J . Wysocki <rafael@kernel.org>; open list:X86 ARCHITECTURE (32-BIT > AND 64-BIT) <linux-kernel@vger.kernel.org>; open list:ACPI <linux- > acpi@vger.kernel.org>; open list:CPU FREQUENCY SCALING FRAMEWORK > <linux-pm@vger.kernel.org>; Limonciello, Mario > <Mario.Limonciello@amd.com> > Subject: [PATCH 1/8] x86/amd: Move amd_get_highest_perf() from amd.c to > cppc.c > > From: Mario Limonciello <mario.limonciello@amd.com> > > To prepare to let amd_get_highest_perf() detect preferred cores it will require > CPPC functions. Move amd_get_highest_perf() to cppc.c to prepare for > 'preferred core detection' rework. > > No functional changes intended. > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > --- > arch/x86/kernel/acpi/cppc.c | 16 ++++++++++++++++ > arch/x86/kernel/cpu/amd.c | 16 ---------------- > 2 files changed, 16 insertions(+), 16 deletions(-) > > diff --git a/arch/x86/kernel/acpi/cppc.c b/arch/x86/kernel/acpi/cppc.c index > ff8f25faca3dd..7ec8f2ce859c8 100644 > --- a/arch/x86/kernel/acpi/cppc.c > +++ b/arch/x86/kernel/acpi/cppc.c > @@ -116,3 +116,19 @@ void init_freq_invariance_cppc(void) > init_done = true; > mutex_unlock(&freq_invariance_lock); > } > + > +u32 amd_get_highest_perf(void) > +{ > + struct cpuinfo_x86 *c = &boot_cpu_data; > + > + if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < > 0x40) || > + (c->x86_model >= 0x70 && c->x86_model < > 0x80))) > + return 166; > + > + if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < > 0x30) || > + (c->x86_model >= 0x40 && c->x86_model < > 0x70))) > + return 166; > + > + return 255; > +} > +EXPORT_SYMBOL_GPL(amd_get_highest_perf); > diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index > 1e0fe5f8ab84e..015971adadfc7 100644 > --- a/arch/x86/kernel/cpu/amd.c > +++ b/arch/x86/kernel/cpu/amd.c > @@ -1190,22 +1190,6 @@ unsigned long amd_get_dr_addr_mask(unsigned > int dr) } EXPORT_SYMBOL_GPL(amd_get_dr_addr_mask); > > -u32 amd_get_highest_perf(void) > -{ > - struct cpuinfo_x86 *c = &boot_cpu_data; > - > - if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < > 0x40) || > - (c->x86_model >= 0x70 && c->x86_model < > 0x80))) > - return 166; > - > - if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < > 0x30) || > - (c->x86_model >= 0x40 && c->x86_model < > 0x70))) > - return 166; > - > - return 255; > -} > -EXPORT_SYMBOL_GPL(amd_get_highest_perf); > - > static void zenbleed_check_cpu(void *unused) { > struct cpuinfo_x86 *c = &cpu_data(smp_processor_id()); > -- > 2.43.0 > LGTM, thanks! Reviewed-by: Perry Yuan <perry.yuan@amd.com>
On Mon, Aug 26, 2024 at 04:13:51PM -0500, Mario Limonciello wrote: > From: Mario Limonciello <mario.limonciello@amd.com> > > To prepare to let amd_get_highest_perf() detect preferred cores > it will require CPPC functions. Move amd_get_highest_perf() to > cppc.c to prepare for 'preferred core detection' rework. > > No functional changes intended. > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com> -- Thanks and Regards gautham. > --- > arch/x86/kernel/acpi/cppc.c | 16 ++++++++++++++++ > arch/x86/kernel/cpu/amd.c | 16 ---------------- > 2 files changed, 16 insertions(+), 16 deletions(-) > > diff --git a/arch/x86/kernel/acpi/cppc.c b/arch/x86/kernel/acpi/cppc.c > index ff8f25faca3dd..7ec8f2ce859c8 100644 > --- a/arch/x86/kernel/acpi/cppc.c > +++ b/arch/x86/kernel/acpi/cppc.c > @@ -116,3 +116,19 @@ void init_freq_invariance_cppc(void) > init_done = true; > mutex_unlock(&freq_invariance_lock); > } > + > +u32 amd_get_highest_perf(void) > +{ > + struct cpuinfo_x86 *c = &boot_cpu_data; > + > + if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < 0x40) || > + (c->x86_model >= 0x70 && c->x86_model < 0x80))) > + return 166; > + > + if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < 0x30) || > + (c->x86_model >= 0x40 && c->x86_model < 0x70))) > + return 166; > + > + return 255; > +} > +EXPORT_SYMBOL_GPL(amd_get_highest_perf); > diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c > index 1e0fe5f8ab84e..015971adadfc7 100644 > --- a/arch/x86/kernel/cpu/amd.c > +++ b/arch/x86/kernel/cpu/amd.c > @@ -1190,22 +1190,6 @@ unsigned long amd_get_dr_addr_mask(unsigned int dr) > } > EXPORT_SYMBOL_GPL(amd_get_dr_addr_mask); > > -u32 amd_get_highest_perf(void) > -{ > - struct cpuinfo_x86 *c = &boot_cpu_data; > - > - if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < 0x40) || > - (c->x86_model >= 0x70 && c->x86_model < 0x80))) > - return 166; > - > - if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < 0x30) || > - (c->x86_model >= 0x40 && c->x86_model < 0x70))) > - return 166; > - > - return 255; > -} > -EXPORT_SYMBOL_GPL(amd_get_highest_perf); > - > static void zenbleed_check_cpu(void *unused) > { > struct cpuinfo_x86 *c = &cpu_data(smp_processor_id()); > -- > 2.43.0 >
Hi Mario, kernel test robot noticed the following build errors: [auto build test ERROR on rafael-pm/linux-next] [also build test ERROR on rafael-pm/bleeding-edge tip/x86/core tip/master linus/master v6.11-rc5 next-20240827] [cannot apply to tip/auto-latest] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/x86-amd-Move-amd_get_highest_perf-from-amd-c-to-cppc-c/20240827-051648 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next patch link: https://lore.kernel.org/r/20240826211358.2694603-2-superm1%40kernel.org patch subject: [PATCH 1/8] x86/amd: Move amd_get_highest_perf() from amd.c to cppc.c config: x86_64-randconfig-074-20240828 (https://download.01.org/0day-ci/archive/20240828/202408281228.SdvJBD9o-lkp@intel.com/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240828/202408281228.SdvJBD9o-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202408281228.SdvJBD9o-lkp@intel.com/ All errors (new ones prefixed by >>): >> arch/x86/kernel/acpi/cppc.c:120:5: error: redefinition of 'amd_get_highest_perf' 120 | u32 amd_get_highest_perf(void) | ^~~~~~~~~~~~~~~~~~~~ In file included from arch/x86/include/asm/cpufeature.h:5, from arch/x86/include/asm/thread_info.h:59, from include/linux/thread_info.h:60, from include/linux/spinlock.h:60, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from include/linux/resource_ext.h:11, from include/linux/acpi.h:13, from include/acpi/cppc_acpi.h:13, from arch/x86/kernel/acpi/cppc.c:7: arch/x86/include/asm/processor.h:708:19: note: previous definition of 'amd_get_highest_perf' with type 'u32(void)' {aka 'unsigned int(void)'} 708 | static inline u32 amd_get_highest_perf(void) { return 0; } | ^~~~~~~~~~~~~~~~~~~~ vim +/amd_get_highest_perf +120 arch/x86/kernel/acpi/cppc.c 119 > 120 u32 amd_get_highest_perf(void)
diff --git a/arch/x86/kernel/acpi/cppc.c b/arch/x86/kernel/acpi/cppc.c index ff8f25faca3dd..7ec8f2ce859c8 100644 --- a/arch/x86/kernel/acpi/cppc.c +++ b/arch/x86/kernel/acpi/cppc.c @@ -116,3 +116,19 @@ void init_freq_invariance_cppc(void) init_done = true; mutex_unlock(&freq_invariance_lock); } + +u32 amd_get_highest_perf(void) +{ + struct cpuinfo_x86 *c = &boot_cpu_data; + + if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < 0x40) || + (c->x86_model >= 0x70 && c->x86_model < 0x80))) + return 166; + + if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < 0x30) || + (c->x86_model >= 0x40 && c->x86_model < 0x70))) + return 166; + + return 255; +} +EXPORT_SYMBOL_GPL(amd_get_highest_perf); diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 1e0fe5f8ab84e..015971adadfc7 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -1190,22 +1190,6 @@ unsigned long amd_get_dr_addr_mask(unsigned int dr) } EXPORT_SYMBOL_GPL(amd_get_dr_addr_mask); -u32 amd_get_highest_perf(void) -{ - struct cpuinfo_x86 *c = &boot_cpu_data; - - if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < 0x40) || - (c->x86_model >= 0x70 && c->x86_model < 0x80))) - return 166; - - if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < 0x30) || - (c->x86_model >= 0x40 && c->x86_model < 0x70))) - return 166; - - return 255; -} -EXPORT_SYMBOL_GPL(amd_get_highest_perf); - static void zenbleed_check_cpu(void *unused) { struct cpuinfo_x86 *c = &cpu_data(smp_processor_id());