Re: [PATCH v11 01/23] x86/resctrl: Add __init attribute to functions called from resctrl_late_init()
From: Dave Martin
Date: Wed Feb 19 2025 - 08:28:36 EST
Hi,
On Wed, Jan 22, 2025 at 02:20:09PM -0600, Babu Moger wrote:
> resctrl_late_init() has the __init attribute, but some of the functions
> called from it do not have the __init attribute.
>
> Add the __init attribute to all the functions in the call sequences to
> maintain consistency throughout.
(BTW, did you just find these cases by inspection, or were you getting
build warnings?
Even with CONFIG_DEBUG_SECTION_MISMATCH=y, I struggle to get build
warnings about section mismatches on inlined functions. Even building
with -fno-inline doesn't flag them all up (though I don't think this
suppresses all inlining).
If you have a way of tracking these cases down automatically, I'd be
interested to know so that I can apply it elsewhere.)
Cheers
---Dave
>
> Fixes: 6a445edce657 ("x86/intel_rdt/cqm: Add RDT monitoring initialization")
> Fixes: def10853930a ("x86/intel_rdt: Add two new resources for L2 Code and Data Prioritization (CDP)")
> Fixes: bd334c86b5d7 ("x86/resctrl: Add __init attribute to rdt_get_mon_l3_config()")
> Suggested-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> ---
[...]
> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> index 3d1735ed8d1f..f0a331287979 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -145,7 +145,7 @@ u32 resctrl_arch_system_num_rmid_idx(void)
> * is always 20 on hsw server parts. The minimum cache bitmask length
> * allowed for HSW server is always 2 bits. Hardcode all of them.
> */
> -static inline void cache_alloc_hsw_probe(void)
> +static inline __init void cache_alloc_hsw_probe(void)
> {
> struct rdt_hw_resource *hw_res = &rdt_resources_all[RDT_RESOURCE_L3];
> struct rdt_resource *r = &hw_res->r_resctrl;
> @@ -277,7 +277,7 @@ static __init bool __rdt_get_mem_config_amd(struct rdt_resource *r)
[...]