* [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State
@ 2022-01-06 7:43 Huang Rui
2022-01-06 7:43 ` [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc Huang Rui
2022-01-06 17:34 ` [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State Rafael J. Wysocki
0 siblings, 2 replies; 13+ messages in thread
From: Huang Rui @ 2022-01-06 7:43 UTC (permalink / raw)
To: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm,
linux-kernel
Cc: Perry Yuan, Jinzhou Su, Xiaojian Du, Huang Rui
The AMD P-State driver is based on ACPI CPPC function, so ACPI should be
dependence of this driver in the kernel config.
In file included from ../drivers/cpufreq/amd-pstate.c:40:0:
../include/acpi/processor.h:226:2: error: unknown type name ‘phys_cpuid_t’
phys_cpuid_t phys_id; /* CPU hardware ID such as APIC ID for x86 */
^~~~~~~~~~~~
../include/acpi/processor.h:355:1: error: unknown type name ‘phys_cpuid_t’; did you mean ‘phys_addr_t’?
phys_cpuid_t acpi_get_phys_id(acpi_handle, int type, u32 acpi_id);
^~~~~~~~~~~~
phys_addr_t
CC drivers/rtc/rtc-rv3029c2.o
../include/acpi/processor.h:356:1: error: unknown type name ‘phys_cpuid_t’; did you mean ‘phys_addr_t’?
phys_cpuid_t acpi_map_madt_entry(u32 acpi_id);
^~~~~~~~~~~~
phys_addr_t
../include/acpi/processor.h:357:20: error: unknown type name ‘phys_cpuid_t’; did you mean ‘phys_addr_t’?
int acpi_map_cpuid(phys_cpuid_t phys_id, u32 acpi_id);
^~~~~~~~~~~~
phys_addr_t
See https://lore.kernel.org/lkml/20e286d4-25d7-fb6e-31a1-4349c805aae3@infradead.org/.
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
drivers/cpufreq/Kconfig.x86 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/cpufreq/Kconfig.x86 b/drivers/cpufreq/Kconfig.x86
index a951768c3ebb..55516043b656 100644
--- a/drivers/cpufreq/Kconfig.x86
+++ b/drivers/cpufreq/Kconfig.x86
@@ -36,9 +36,9 @@ config X86_PCC_CPUFREQ
config X86_AMD_PSTATE
tristate "AMD Processor P-State driver"
- depends on X86
- select ACPI_PROCESSOR if ACPI
- select ACPI_CPPC_LIB if X86_64 && ACPI
+ depends on X86 && ACPI
+ select ACPI_PROCESSOR
+ select ACPI_CPPC_LIB if X86_64
select CPU_FREQ_GOV_SCHEDUTIL if SMP
help
This driver adds a CPUFreq driver which utilizes a fine grain
--
2.25.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 7:43 [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State Huang Rui @ 2022-01-06 7:43 ` Huang Rui 2022-01-06 12:16 ` Borislav Petkov 2022-01-06 17:12 ` Rafael J. Wysocki 2022-01-06 17:34 ` [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State Rafael J. Wysocki 1 sibling, 2 replies; 13+ messages in thread From: Huang Rui @ 2022-01-06 7:43 UTC (permalink / raw) To: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm, linux-kernel Cc: Perry Yuan, Jinzhou Su, Xiaojian Du, Huang Rui, kernel test robot, Borislav Petkov, Ingo Molnar, Peter Zijlstra, x86, stable The init_freq_invariance_cppc function is implemented in smpboot and depends on CONFIG_SMP. MODPOST vmlinux.symvers MODINFO modules.builtin.modinfo GEN modules.builtin LD .tmp_vmlinux.kallsyms1 ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' make: *** [Makefile:1161: vmlinux] Error 1 See https://lore.kernel.org/lkml/484af487-7511-647e-5c5b-33d4429acdec@infradead.org/. Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") Reported-by: kernel test robot <lkp@intel.com> Reported-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Huang Rui <ray.huang@amd.com> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: x86@kernel.org Cc: stable@vger.kernel.org --- arch/x86/include/asm/topology.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h index cc164777e661..2f0b6be8eaab 100644 --- a/arch/x86/include/asm/topology.h +++ b/arch/x86/include/asm/topology.h @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) } #endif -#ifdef CONFIG_ACPI_CPPC_LIB +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) void init_freq_invariance_cppc(void); #define init_freq_invariance_cppc init_freq_invariance_cppc #endif -- 2.25.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 7:43 ` [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc Huang Rui @ 2022-01-06 12:16 ` Borislav Petkov 2022-01-06 14:37 ` Huang Rui 2022-01-06 17:12 ` Rafael J. Wysocki 1 sibling, 1 reply; 13+ messages in thread From: Borislav Petkov @ 2022-01-06 12:16 UTC (permalink / raw) To: Huang Rui Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm, linux-kernel, Perry Yuan, Jinzhou Su, Xiaojian Du, kernel test robot, Ingo Molnar, Peter Zijlstra, x86, stable On Thu, Jan 06, 2022 at 03:43:06PM +0800, Huang Rui wrote: > The init_freq_invariance_cppc function is implemented in smpboot and depends on > CONFIG_SMP. > > MODPOST vmlinux.symvers > MODINFO modules.builtin.modinfo > GEN modules.builtin > LD .tmp_vmlinux.kallsyms1 > ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': > /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' > make: *** [Makefile:1161: vmlinux] Error 1 > > See https://lore.kernel.org/lkml/484af487-7511-647e-5c5b-33d4429acdec@infradead.org/. > > Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") > Reported-by: kernel test robot <lkp@intel.com> > Reported-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > Signed-off-by: Huang Rui <ray.huang@amd.com> > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > Cc: Borislav Petkov <bp@alien8.de> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: x86@kernel.org > Cc: stable@vger.kernel.org > --- > arch/x86/include/asm/topology.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > index cc164777e661..2f0b6be8eaab 100644 > --- a/arch/x86/include/asm/topology.h > +++ b/arch/x86/include/asm/topology.h > @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) > } > #endif > > -#ifdef CONFIG_ACPI_CPPC_LIB > +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) > void init_freq_invariance_cppc(void); > #define init_freq_invariance_cppc init_freq_invariance_cppc > #endif > -- Well, since that function is in smpboot.c then the logic should be that CPPC depends on functionality in smpboot.c for proper operation. IOW, ACPI_CPPC_LIB should have "depends on CONFIG_SMP" in Kconfig, no? Instead of adding more ifdeffery around... -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 12:16 ` Borislav Petkov @ 2022-01-06 14:37 ` Huang Rui 2022-01-06 14:55 ` Huang Rui 0 siblings, 1 reply; 13+ messages in thread From: Huang Rui @ 2022-01-06 14:37 UTC (permalink / raw) To: Borislav Petkov Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yuan, Perry, Su, Jinzhou (Joe), Du, Xiaojian, kernel test robot, Ingo Molnar, Peter Zijlstra, x86@kernel.org, stable@vger.kernel.org On Thu, Jan 06, 2022 at 08:16:43PM +0800, Borislav Petkov wrote: > On Thu, Jan 06, 2022 at 03:43:06PM +0800, Huang Rui wrote: > > The init_freq_invariance_cppc function is implemented in smpboot and depends on > > CONFIG_SMP. > > > > MODPOST vmlinux.symvers > > MODINFO modules.builtin.modinfo > > GEN modules.builtin > > LD .tmp_vmlinux.kallsyms1 > > ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': > > /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' > > make: *** [Makefile:1161: vmlinux] Error 1 > > > > See https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F484af487-7511-647e-5c5b-33d4429acdec%40infradead.org%2F&data=04%7C01%7Cray.huang%40amd.com%7C4c696d3f23ac4479dda108d9d10e6a53%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637770682133383506%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=9lC2az1xGeYn7fNputkUMsy7PIhmkqW8jdpDUsaWthI%3D&reserved=0. > > > > Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") > > Reported-by: kernel test robot <lkp@intel.com> > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > > Signed-off-by: Huang Rui <ray.huang@amd.com> > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Cc: Borislav Petkov <bp@alien8.de> > > Cc: Ingo Molnar <mingo@kernel.org> > > Cc: Peter Zijlstra <peterz@infradead.org> > > Cc: x86@kernel.org > > Cc: stable@vger.kernel.org > > --- > > arch/x86/include/asm/topology.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > > index cc164777e661..2f0b6be8eaab 100644 > > --- a/arch/x86/include/asm/topology.h > > +++ b/arch/x86/include/asm/topology.h > > @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) > > } > > #endif > > > > -#ifdef CONFIG_ACPI_CPPC_LIB > > +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) > > void init_freq_invariance_cppc(void); > > #define init_freq_invariance_cppc init_freq_invariance_cppc > > #endif > > -- > > Well, since that function is in smpboot.c then the logic should be that > CPPC depends on functionality in smpboot.c for proper operation. > > IOW, ACPI_CPPC_LIB should have "depends on CONFIG_SMP" in Kconfig, no? > > Instead of adding more ifdeffery around... > Hmm, yes, that's fine. I will modify it in V2. Thanks, Ray ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 14:37 ` Huang Rui @ 2022-01-06 14:55 ` Huang Rui 2022-01-06 15:54 ` Borislav Petkov 0 siblings, 1 reply; 13+ messages in thread From: Huang Rui @ 2022-01-06 14:55 UTC (permalink / raw) To: Borislav Petkov Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yuan, Perry, Su, Jinzhou (Joe), Du, Xiaojian, kernel test robot, Ingo Molnar, Peter Zijlstra, x86@kernel.org, stable@vger.kernel.org On Thu, Jan 06, 2022 at 10:37:59PM +0800, Huang Rui wrote: > On Thu, Jan 06, 2022 at 08:16:43PM +0800, Borislav Petkov wrote: > > On Thu, Jan 06, 2022 at 03:43:06PM +0800, Huang Rui wrote: > > > The init_freq_invariance_cppc function is implemented in smpboot and depends on > > > CONFIG_SMP. > > > > > > MODPOST vmlinux.symvers > > > MODINFO modules.builtin.modinfo > > > GEN modules.builtin > > > LD .tmp_vmlinux.kallsyms1 > > > ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': > > > /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' > > > make: *** [Makefile:1161: vmlinux] Error 1 > > > > > > See https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F484af487-7511-647e-5c5b-33d4429acdec%40infradead.org%2F&data=04%7C01%7Cray.huang%40amd.com%7C4c696d3f23ac4479dda108d9d10e6a53%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637770682133383506%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=9lC2az1xGeYn7fNputkUMsy7PIhmkqW8jdpDUsaWthI%3D&reserved=0. > > > > > > Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") > > > Reported-by: kernel test robot <lkp@intel.com> > > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > > > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > > > Signed-off-by: Huang Rui <ray.huang@amd.com> > > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > > Cc: Borislav Petkov <bp@alien8.de> > > > Cc: Ingo Molnar <mingo@kernel.org> > > > Cc: Peter Zijlstra <peterz@infradead.org> > > > Cc: x86@kernel.org > > > Cc: stable@vger.kernel.org > > > --- > > > arch/x86/include/asm/topology.h | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > > > index cc164777e661..2f0b6be8eaab 100644 > > > --- a/arch/x86/include/asm/topology.h > > > +++ b/arch/x86/include/asm/topology.h > > > @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) > > > } > > > #endif > > > > > > -#ifdef CONFIG_ACPI_CPPC_LIB > > > +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) > > > void init_freq_invariance_cppc(void); > > > #define init_freq_invariance_cppc init_freq_invariance_cppc > > > #endif > > > -- > > > > Well, since that function is in smpboot.c then the logic should be that > > CPPC depends on functionality in smpboot.c for proper operation. > > > > IOW, ACPI_CPPC_LIB should have "depends on CONFIG_SMP" in Kconfig, no? > > > > Instead of adding more ifdeffery around... > > > > Hmm, yes, that's fine. I will modify it in V2. > I just thought the CPPC function should be able to work on single core even SMP is disabled. Thanks, Ray ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 14:55 ` Huang Rui @ 2022-01-06 15:54 ` Borislav Petkov 2022-01-06 16:12 ` Rafael J. Wysocki 0 siblings, 1 reply; 13+ messages in thread From: Borislav Petkov @ 2022-01-06 15:54 UTC (permalink / raw) To: Huang Rui Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yuan, Perry, Su, Jinzhou (Joe), Du, Xiaojian, kernel test robot, Ingo Molnar, Peter Zijlstra, x86@kernel.org, stable@vger.kernel.org On Thu, Jan 06, 2022 at 10:55:20PM +0800, Huang Rui wrote: > I just thought the CPPC function should be able to work on single core even > SMP is disabled. Why, because SMP=n is a real use case?! FWIW, we were even speculating on removing SMP=n so how practical is using CPPC on SMP=n at all? -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 15:54 ` Borislav Petkov @ 2022-01-06 16:12 ` Rafael J. Wysocki 2022-01-06 16:23 ` Borislav Petkov 0 siblings, 1 reply; 13+ messages in thread From: Rafael J. Wysocki @ 2022-01-06 16:12 UTC (permalink / raw) To: Borislav Petkov Cc: Huang Rui, Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yuan, Perry, Su, Jinzhou (Joe), Du, Xiaojian, kernel test robot, Ingo Molnar, Peter Zijlstra, x86@kernel.org, stable@vger.kernel.org On Thu, Jan 6, 2022 at 4:55 PM Borislav Petkov <bp@alien8.de> wrote: > > On Thu, Jan 06, 2022 at 10:55:20PM +0800, Huang Rui wrote: > > I just thought the CPPC function should be able to work on single core even > > SMP is disabled. > > Why, because SMP=n is a real use case?! And why can't it be a real use case? > FWIW, we were even speculating on removing SMP=n so how practical is > using CPPC on SMP=n at all? The honest answer is that we don't know. Moreover, AFAICS the requisite #ifdeffery is there already and the problem is that the init_freq_invariance_cppc() defined in smpboot.c is not exported to modules and the CPPC code is modular in this build. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 16:12 ` Rafael J. Wysocki @ 2022-01-06 16:23 ` Borislav Petkov 2022-01-06 16:49 ` Rafael J. Wysocki 0 siblings, 1 reply; 13+ messages in thread From: Borislav Petkov @ 2022-01-06 16:23 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Huang Rui, Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yuan, Perry, Su, Jinzhou (Joe), Du, Xiaojian, kernel test robot, Ingo Molnar, Peter Zijlstra, x86@kernel.org, stable@vger.kernel.org On Thu, Jan 06, 2022 at 05:12:51PM +0100, Rafael J. Wysocki wrote: > And why can't it be a real use case? You mean there's someone out there running SMP=n kernels on current hardware which has CPPC too? Yeah, right. > The honest answer is that we don't know. > > Moreover, AFAICS the requisite #ifdeffery is there already and the > problem is that the init_freq_invariance_cppc() defined in smpboot.c > is not exported to modules and the CPPC code is modular in this build. Yah, I saw that. And that's why I'm saying CPPC should depend on SMP - because it needs that functionality which is defined there. But if you really wanna support SMP=n, I don't care that much to debate this more - I just think it is silly. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 16:23 ` Borislav Petkov @ 2022-01-06 16:49 ` Rafael J. Wysocki 0 siblings, 0 replies; 13+ messages in thread From: Rafael J. Wysocki @ 2022-01-06 16:49 UTC (permalink / raw) To: Borislav Petkov Cc: Rafael J. Wysocki, Huang Rui, Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yuan, Perry, Su, Jinzhou (Joe), Du, Xiaojian, kernel test robot, Ingo Molnar, Peter Zijlstra, x86@kernel.org, stable@vger.kernel.org On Thu, Jan 6, 2022 at 5:23 PM Borislav Petkov <bp@alien8.de> wrote: > > On Thu, Jan 06, 2022 at 05:12:51PM +0100, Rafael J. Wysocki wrote: > > And why can't it be a real use case? > > You mean there's someone out there running SMP=n kernels on current > hardware which has CPPC too? Yeah, right. > > > The honest answer is that we don't know. > > > > Moreover, AFAICS the requisite #ifdeffery is there already and the > > problem is that the init_freq_invariance_cppc() defined in smpboot.c > > is not exported to modules and the CPPC code is modular in this build. > > Yah, I saw that. And that's why I'm saying CPPC should depend on SMP - > because it needs that functionality which is defined there. In fact, the CPPC code itself doesn't need that functionality. The init_freq_invariance_cppc() call is in there, because amd_set_max_freq_ratio() depends on CPPC and it is pointless to run it when CPPC is not supported, not the other way around. > But if you really wanna support SMP=n, I don't care that much to debate > this more - I just think it is silly. Well, I just don't want to stop supporting SMP=n just because we can't possibly get our build dependencies right. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 7:43 ` [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc Huang Rui 2022-01-06 12:16 ` Borislav Petkov @ 2022-01-06 17:12 ` Rafael J. Wysocki 2022-01-06 17:46 ` Rafael J. Wysocki 1 sibling, 1 reply; 13+ messages in thread From: Rafael J. Wysocki @ 2022-01-06 17:12 UTC (permalink / raw) To: Huang Rui Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, Linux PM, Linux Kernel Mailing List, Perry Yuan, Jinzhou Su, Xiaojian Du, kernel test robot, Borislav Petkov, Ingo Molnar, Peter Zijlstra, the arch/x86 maintainers, Stable On Thu, Jan 6, 2022 at 8:43 AM Huang Rui <ray.huang@amd.com> wrote: > > The init_freq_invariance_cppc function is implemented in smpboot and depends on > CONFIG_SMP. > > MODPOST vmlinux.symvers > MODINFO modules.builtin.modinfo > GEN modules.builtin > LD .tmp_vmlinux.kallsyms1 > ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': > /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' > make: *** [Makefile:1161: vmlinux] Error 1 > > See https://lore.kernel.org/lkml/484af487-7511-647e-5c5b-33d4429acdec@infradead.org/. > > Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") > Reported-by: kernel test robot <lkp@intel.com> > Reported-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > Signed-off-by: Huang Rui <ray.huang@amd.com> > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > Cc: Borislav Petkov <bp@alien8.de> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: x86@kernel.org > Cc: stable@vger.kernel.org > --- > arch/x86/include/asm/topology.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > index cc164777e661..2f0b6be8eaab 100644 > --- a/arch/x86/include/asm/topology.h > +++ b/arch/x86/include/asm/topology.h > @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) > } > #endif > > -#ifdef CONFIG_ACPI_CPPC_LIB > +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) > void init_freq_invariance_cppc(void); > #define init_freq_invariance_cppc init_freq_invariance_cppc Why don't you check CONFIG_SMP instead of this symbol in cppc_acpi.c? That file depends on CONFIG_ACPI_CPPC_LIB anyway. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 17:12 ` Rafael J. Wysocki @ 2022-01-06 17:46 ` Rafael J. Wysocki 2022-01-07 1:23 ` Huang Rui 0 siblings, 1 reply; 13+ messages in thread From: Rafael J. Wysocki @ 2022-01-06 17:46 UTC (permalink / raw) To: Huang Rui Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, Linux PM, Linux Kernel Mailing List, Perry Yuan, Jinzhou Su, Xiaojian Du, kernel test robot, Borislav Petkov, Ingo Molnar, Peter Zijlstra, the arch/x86 maintainers, Stable On Thu, Jan 6, 2022 at 6:12 PM Rafael J. Wysocki <rafael@kernel.org> wrote: > > On Thu, Jan 6, 2022 at 8:43 AM Huang Rui <ray.huang@amd.com> wrote: > > > > The init_freq_invariance_cppc function is implemented in smpboot and depends on > > CONFIG_SMP. > > > > MODPOST vmlinux.symvers > > MODINFO modules.builtin.modinfo > > GEN modules.builtin > > LD .tmp_vmlinux.kallsyms1 > > ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': > > /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' > > make: *** [Makefile:1161: vmlinux] Error 1 > > > > See https://lore.kernel.org/lkml/484af487-7511-647e-5c5b-33d4429acdec@infradead.org/. > > > > Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") > > Reported-by: kernel test robot <lkp@intel.com> > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > > Signed-off-by: Huang Rui <ray.huang@amd.com> > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Cc: Borislav Petkov <bp@alien8.de> > > Cc: Ingo Molnar <mingo@kernel.org> > > Cc: Peter Zijlstra <peterz@infradead.org> > > Cc: x86@kernel.org > > Cc: stable@vger.kernel.org > > --- > > arch/x86/include/asm/topology.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > > index cc164777e661..2f0b6be8eaab 100644 > > --- a/arch/x86/include/asm/topology.h > > +++ b/arch/x86/include/asm/topology.h > > @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) > > } > > #endif > > > > -#ifdef CONFIG_ACPI_CPPC_LIB > > +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) > > void init_freq_invariance_cppc(void); > > #define init_freq_invariance_cppc init_freq_invariance_cppc > > Why don't you check CONFIG_SMP instead of this symbol in cppc_acpi.c? > That file depends on CONFIG_ACPI_CPPC_LIB anyway. Scratch that, it needs to compile on non-x86 too. The $subject patch is cleaner than all of the alternatives I have considered, so I'm going to apply it. However, I'm not really happy with the dependencies between CPPC and smpboot.c going both ways. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc 2022-01-06 17:46 ` Rafael J. Wysocki @ 2022-01-07 1:23 ` Huang Rui 0 siblings, 0 replies; 13+ messages in thread From: Huang Rui @ 2022-01-07 1:23 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, Linux PM, Linux Kernel Mailing List, Yuan, Perry, Su, Jinzhou (Joe), Du, Xiaojian, kernel test robot, Borislav Petkov, Ingo Molnar, Peter Zijlstra, the arch/x86 maintainers, Stable On Fri, Jan 07, 2022 at 01:46:04AM +0800, Rafael J. Wysocki wrote: > On Thu, Jan 6, 2022 at 6:12 PM Rafael J. Wysocki <rafael@kernel.org> wrote: > > > > On Thu, Jan 6, 2022 at 8:43 AM Huang Rui <ray.huang@amd.com> wrote: > > > > > > The init_freq_invariance_cppc function is implemented in smpboot and depends on > > > CONFIG_SMP. > > > > > > MODPOST vmlinux.symvers > > > MODINFO modules.builtin.modinfo > > > GEN modules.builtin > > > LD .tmp_vmlinux.kallsyms1 > > > ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': > > > /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' > > > make: *** [Makefile:1161: vmlinux] Error 1 > > > > > > See https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F484af487-7511-647e-5c5b-33d4429acdec%40infradead.org%2F&data=04%7C01%7Cray.huang%40amd.com%7Cde64292b38394cf2cac508d9d13c701c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637770879795785268%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=BtO45nsVaYM%2BBytS%2B5GOPQuIadaiUEnzzaSmydsl0Jo%3D&reserved=0. > > > > > > Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") > > > Reported-by: kernel test robot <lkp@intel.com> > > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > > > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > > > Signed-off-by: Huang Rui <ray.huang@amd.com> > > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > > Cc: Borislav Petkov <bp@alien8.de> > > > Cc: Ingo Molnar <mingo@kernel.org> > > > Cc: Peter Zijlstra <peterz@infradead.org> > > > Cc: x86@kernel.org > > > Cc: stable@vger.kernel.org > > > --- > > > arch/x86/include/asm/topology.h | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > > > index cc164777e661..2f0b6be8eaab 100644 > > > --- a/arch/x86/include/asm/topology.h > > > +++ b/arch/x86/include/asm/topology.h > > > @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) > > > } > > > #endif > > > > > > -#ifdef CONFIG_ACPI_CPPC_LIB > > > +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) > > > void init_freq_invariance_cppc(void); > > > #define init_freq_invariance_cppc init_freq_invariance_cppc > > > > Why don't you check CONFIG_SMP instead of this symbol in cppc_acpi.c? > > That file depends on CONFIG_ACPI_CPPC_LIB anyway. > > Scratch that, it needs to compile on non-x86 too. > > The $subject patch is cleaner than all of the alternatives I have > considered, so I'm going to apply it. > > However, I'm not really happy with the dependencies between CPPC and > smpboot.c going both ways. Thanks, for urgent fix for linux-next, I think we can use this patch at this moment. Let me think out a better way to handle the dependencies next step. :-) Thanks, Ray ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State 2022-01-06 7:43 [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State Huang Rui 2022-01-06 7:43 ` [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc Huang Rui @ 2022-01-06 17:34 ` Rafael J. Wysocki 1 sibling, 0 replies; 13+ messages in thread From: Rafael J. Wysocki @ 2022-01-06 17:34 UTC (permalink / raw) To: Huang Rui Cc: Rafael J . Wysocki, Randy Dunlap, Stephen Rothwell, Linux PM, Linux Kernel Mailing List, Perry Yuan, Jinzhou Su, Xiaojian Du On Thu, Jan 6, 2022 at 8:43 AM Huang Rui <ray.huang@amd.com> wrote: > > The AMD P-State driver is based on ACPI CPPC function, so ACPI should be > dependence of this driver in the kernel config. > > In file included from ../drivers/cpufreq/amd-pstate.c:40:0: > ../include/acpi/processor.h:226:2: error: unknown type name ‘phys_cpuid_t’ > phys_cpuid_t phys_id; /* CPU hardware ID such as APIC ID for x86 */ > ^~~~~~~~~~~~ > ../include/acpi/processor.h:355:1: error: unknown type name ‘phys_cpuid_t’; did you mean ‘phys_addr_t’? > phys_cpuid_t acpi_get_phys_id(acpi_handle, int type, u32 acpi_id); > ^~~~~~~~~~~~ > phys_addr_t > CC drivers/rtc/rtc-rv3029c2.o > ../include/acpi/processor.h:356:1: error: unknown type name ‘phys_cpuid_t’; did you mean ‘phys_addr_t’? > phys_cpuid_t acpi_map_madt_entry(u32 acpi_id); > ^~~~~~~~~~~~ > phys_addr_t > ../include/acpi/processor.h:357:20: error: unknown type name ‘phys_cpuid_t’; did you mean ‘phys_addr_t’? > int acpi_map_cpuid(phys_cpuid_t phys_id, u32 acpi_id); > ^~~~~~~~~~~~ > phys_addr_t > > See https://lore.kernel.org/lkml/20e286d4-25d7-fb6e-31a1-4349c805aae3@infradead.org/. > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > Signed-off-by: Huang Rui <ray.huang@amd.com> > --- > drivers/cpufreq/Kconfig.x86 | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/cpufreq/Kconfig.x86 b/drivers/cpufreq/Kconfig.x86 > index a951768c3ebb..55516043b656 100644 > --- a/drivers/cpufreq/Kconfig.x86 > +++ b/drivers/cpufreq/Kconfig.x86 > @@ -36,9 +36,9 @@ config X86_PCC_CPUFREQ > > config X86_AMD_PSTATE > tristate "AMD Processor P-State driver" > - depends on X86 > - select ACPI_PROCESSOR if ACPI > - select ACPI_CPPC_LIB if X86_64 && ACPI > + depends on X86 && ACPI > + select ACPI_PROCESSOR > + select ACPI_CPPC_LIB if X86_64 > select CPU_FREQ_GOV_SCHEDUTIL if SMP > help > This driver adds a CPUFreq driver which utilizes a fine grain > -- Applied (under a modified subject), thanks! ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-01-07 1:23 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-01-06 7:43 [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State Huang Rui 2022-01-06 7:43 ` [PATCH 2/2] x86, sched: Fix the undefined reference building error of init_freq_invariance_cppc Huang Rui 2022-01-06 12:16 ` Borislav Petkov 2022-01-06 14:37 ` Huang Rui 2022-01-06 14:55 ` Huang Rui 2022-01-06 15:54 ` Borislav Petkov 2022-01-06 16:12 ` Rafael J. Wysocki 2022-01-06 16:23 ` Borislav Petkov 2022-01-06 16:49 ` Rafael J. Wysocki 2022-01-06 17:12 ` Rafael J. Wysocki 2022-01-06 17:46 ` Rafael J. Wysocki 2022-01-07 1:23 ` Huang Rui 2022-01-06 17:34 ` [PATCH 1/2] cpufreq: amd-pstate: Fix the dependence issue of AMD P-State Rafael J. Wysocki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).