RE: [PATCH v1 06/31] x86/resctrl: Export resctrl fs's init function

From: Shaopeng Tan (Fujitsu)
Date: Wed Apr 03 2024 - 03:55:20 EST


Hello James,

> rdtgroup_init() needs exporting so that arch code can call it once it lives in core
> code. As this is one of the few functions we export, rename it to have the resctrl
> in the name. The same goes for the exit call.
>
> x86's arch code init functions for RDT are renamed to have an arch prefix to
> make it clear these are part of the architecture code.
>
> Signed-off-by: James Morse <james.morse@xxxxxxx>
> ---
> arch/x86/kernel/cpu/resctrl/core.c | 12 ++++++------
> arch/x86/kernel/cpu/resctrl/internal.h | 3 ---
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 8 ++++----
> include/linux/resctrl.h | 3 +++
> 4 files changed, 13 insertions(+), 13 deletions(-)

/fs/resctrl/monitor.c
746 * RESCTRL_RESERVED_CLOSID and RESCTRL_RESERVED_RMID are special and
747 * are always allocated. These are used for the rdtgroup_default
748 * control group, which will be setup later in rdtgroup_init().
"rdtgroup_init()" is still in the comments.


Best regards,
Shaopeng TAN

> diff --git a/arch/x86/kernel/cpu/resctrl/core.c
> b/arch/x86/kernel/cpu/resctrl/core.c
> index d07eff7d6750..b4e7d655e242 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -938,7 +938,7 @@ void resctrl_cpu_detect(struct cpuinfo_x86 *c)
> }
> }
>
> -static int __init resctrl_late_init(void)
> +static int __init resctrl_arch_late_init(void)
> {
> struct rdt_resource *r;
> int state, ret;
> @@ -963,7 +963,7 @@ static int __init resctrl_late_init(void)
> if (state < 0)
> return state;
>
> - ret = rdtgroup_init();
> + ret = resctrl_init();
> if (ret) {
> cpuhp_remove_state(state);
> return ret;
> @@ -979,18 +979,18 @@ static int __init resctrl_late_init(void)
> return 0;
> }
>
> -late_initcall(resctrl_late_init);
> +late_initcall(resctrl_arch_late_init);
>
> -static void __exit resctrl_exit(void)
> +static void __exit resctrl_arch_exit(void)
> {
> struct rdt_resource *r =
> &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl;
>
> cpuhp_remove_state(rdt_online);
>
> - rdtgroup_exit();
> + resctrl_exit();
>
> if (r->mon_capable)
> rdt_put_mon_l3_config();
> }
>
> -__exitcall(resctrl_exit);
> +__exitcall(resctrl_arch_exit);
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h
> b/arch/x86/kernel/cpu/resctrl/internal.h
> index 9048bd32e86f..7c073298aabf 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -300,9 +300,6 @@ extern struct list_head rdt_all_groups;
>
> extern int max_name_width, max_data_width;
>
> -int __init rdtgroup_init(void);
> -void __exit rdtgroup_exit(void);
> -
> /**
> * struct rftype - describe each file in the resctrl file system
> * @name: File name
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 18f097fce51e..1a49c9918f8d 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -4116,14 +4116,14 @@ void resctrl_offline_cpu(unsigned int cpu) }
>
> /*
> - * rdtgroup_init - rdtgroup initialization
> + * resctrl_init - resctrl filesystem initialization
> *
> * Setup resctrl file system including set up root, create mount point,
> - * register rdtgroup filesystem, and initialize files under root directory.
> + * register resctrl filesystem, and initialize files under root directory.
> *
> * Return: 0 on success or -errno
> */
> -int __init rdtgroup_init(void)
> +int __init resctrl_init(void)
> {
> int ret = 0;
>
> @@ -4171,7 +4171,7 @@ int __init rdtgroup_init(void)
> return ret;
> }
>
> -void __exit rdtgroup_exit(void)
> +void __exit resctrl_exit(void)
> {
> debugfs_remove_recursive(debugfs_resctrl);
> unregister_filesystem(&rdt_fs_type);
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h index
> 2b79e4159507..f6a4b75f8122 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -325,4 +325,7 @@ void resctrl_arch_reset_rmid_all(struct rdt_resource *r,
> struct rdt_domain *d); extern unsigned int resctrl_rmid_realloc_threshold;
> extern unsigned int resctrl_rmid_realloc_limit;
>
> +int __init resctrl_init(void);
> +void __exit resctrl_exit(void);
> +
> #endif /* _RESCTRL_H */
> --
> 2.39.2