[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0iH=rAgC0YPcCv_zoMtNoA1hG=ZGgLRdrgKqWAjmsYqcw@mail.gmail.com>
Date: Thu, 6 Jan 2022 18:46:04 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Huang Rui <ray.huang@....com>
Cc: "Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
Randy Dunlap <rdunlap@...radead.org>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Linux PM <linux-pm@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Perry Yuan <Perry.Yuan@....com>,
Jinzhou Su <Jinzhou.Su@....com>,
Xiaojian Du <Xiaojian.Du@....com>,
kernel test robot <lkp@...el.com>,
Borislav Petkov <bp@...en8.de>, Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
"the arch/x86 maintainers" <x86@...nel.org>,
Stable <stable@...r.kernel.org>
Subject: Re: [PATCH 2/2] x86, sched: Fix the undefined reference building
error of init_freq_invariance_cppc
On Thu, Jan 6, 2022 at 6:12 PM Rafael J. Wysocki <rafael@...nel.org> wrote:
>
> On Thu, Jan 6, 2022 at 8:43 AM Huang Rui <ray.huang@....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@...el.com>
> > Reported-by: Randy Dunlap <rdunlap@...radead.org>
> > Reported-by: Stephen Rothwell <sfr@...b.auug.org.au>
> > Signed-off-by: Huang Rui <ray.huang@....com>
> > Cc: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> > Cc: Borislav Petkov <bp@...en8.de>
> > Cc: Ingo Molnar <mingo@...nel.org>
> > Cc: Peter Zijlstra <peterz@...radead.org>
> > Cc: x86@...nel.org
> > Cc: stable@...r.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.
Powered by blists - more mailing lists