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.Yes, that's exactly the case.
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.