[PATCH] x86/cpu_entry_area: Annotate percpu_setup_exception_stacks() as __init

Nathan Chancellor posted 1 patch 1 year, 5 months ago
There is a newer version of this series
arch/x86/mm/cpu_entry_area.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] x86/cpu_entry_area: Annotate percpu_setup_exception_stacks() as __init
Posted by Nathan Chancellor 1 year, 5 months ago
After a recent LLVM change [1] that deduces __cold on functions that
only call cold code (such as __init functions), there is a section
mismatch warning from percpu_setup_exception_stacks(), which got moved
to .text.unlikely. as a result of that optimization:

  WARNING: modpost: vmlinux: section mismatch in reference: percpu_setup_exception_stacks+0x3a (section: .text.unlikely.) -> cea_map_percpu_pages (section: .init.text)

Drop the inline keyword (which does not guarantee inlining) and replace
it with __init, as percpu_setup_exception_stacks() is only called from
__init code, which clears up the warning.

Link: https://github.com/llvm/llvm-project/commit/6b11573b8c5e3d36beee099dbe7347c2a007bf53 [1]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
 arch/x86/mm/cpu_entry_area.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/mm/cpu_entry_area.c b/arch/x86/mm/cpu_entry_area.c
index e91500a80963..575f863f3c75 100644
--- a/arch/x86/mm/cpu_entry_area.c
+++ b/arch/x86/mm/cpu_entry_area.c
@@ -164,7 +164,7 @@ static void __init percpu_setup_exception_stacks(unsigned int cpu)
 	}
 }
 #else
-static inline void percpu_setup_exception_stacks(unsigned int cpu)
+static void __init percpu_setup_exception_stacks(unsigned int cpu)
 {
 	struct cpu_entry_area *cea = get_cpu_entry_area(cpu);
 

---
base-commit: d4245fd4a62931aebd1c5e6b7b6f51b6ef7ad087
change-id: 20240822-x86-percpu_setup_exception_stacks-init-3eb56b5f075c

Best regards,
-- 
Nathan Chancellor <nathan@kernel.org>