Re: [PATCH 2/5] alpha: Modify the definition logic of WEAK_PER_CPU
From: Heiko Carstens
Date: Thu Jun 12 2025 - 07:23:03 EST
On Thu, Jun 12, 2025 at 04:27:27PM +0800, Hao Ge wrote:
> From: Hao Ge <gehao@xxxxxxxxxx>
>
> As stated in the first patch of this patch series,
> we make ARCH_NEEDS_WEAK_PER_CPU a Kconfig option,
> and replace all instances of ARCH_NEEDS_WEAK_PER_CPU
> in the kernel code with MODULE_NEEDS_WEAK_PER_CPU,
> gated by #ifdef CONFIG_ARCH_NEEDS_WEAK_PER_CPU.
>
> We'll make corresponding changes for the alpha
> architecture.
>
> Suggested-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> Signed-off-by: Hao Ge <gehao@xxxxxxxxxx>
> ---
> arch/alpha/Kconfig | 1 +
> arch/alpha/include/asm/percpu.h | 4 ++--
> 2 files changed, 3 insertions(+), 2 deletions(-)
...
> + select ARCH_NEEDS_WEAK_PER_CPU
> select ARCH_NO_PREEMPT
> select ARCH_NO_SG_CHAIN
> select ARCH_USE_CMPXCHG_LOCKREF
> diff --git a/arch/alpha/include/asm/percpu.h b/arch/alpha/include/asm/percpu.h
> index 6923249f2d49..5d8b75ec3bf2 100644
> --- a/arch/alpha/include/asm/percpu.h
> +++ b/arch/alpha/include/asm/percpu.h
> @@ -10,8 +10,8 @@
> *
> * Always use weak definitions for percpu variables in modules.
> */
> -#if defined(MODULE) && defined(CONFIG_SMP)
> -#define ARCH_NEEDS_WEAK_PER_CPU
> +#if defined(MODULE) && defined(CONFIG_SMP) && defined(CONFIG_ARCH_NEEDS_WEAK_PER_CPU)
> +#define MODULE_NEEDS_WEAK_PER_CPU
CONFIG_ARCH_NEEDS_WEAK_PER_CPU is always set with the above select.
So there is no point in adding this to the check.
Furthermore this removes ARCH_NEEDS_WEAK_PER_CPU and defines
MODULE_NEEDS_WEAK_PER_CPU while the common code conversion happens
only with patch 4. Or in other words: if patches are split like this
things break.
Same is true for patch 3. Just merging patches 2-4 would be the
easiest solution to this problem.