lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 3 Apr 2024 07:51:54 +0000
From: "Shaopeng Tan (Fujitsu)" <tan.shaopeng@...itsu.com>
To: 'James Morse' <james.morse@....com>, "x86@...nel.org" <x86@...nel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: Fenghua Yu <fenghua.yu@...el.com>, Reinette Chatre
	<reinette.chatre@...el.com>, Thomas Gleixner <tglx@...utronix.de>, Ingo
 Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>, H Peter Anvin
	<hpa@...or.com>, Babu Moger <Babu.Moger@....com>,
	"shameerali.kolothum.thodi@...wei.com"
	<shameerali.kolothum.thodi@...wei.com>, D Scott Phillips OS
	<scott@...amperecomputing.com>, "carl@...amperecomputing.com"
	<carl@...amperecomputing.com>, "lcherian@...vell.com" <lcherian@...vell.com>,
	"bobo.shaobowang@...wei.com" <bobo.shaobowang@...wei.com>,
	"baolin.wang@...ux.alibaba.com" <baolin.wang@...ux.alibaba.com>, Jamie Iles
	<quic_jiles@...cinc.com>, Xin Hao <xhao@...ux.alibaba.com>,
	"peternewman@...gle.com" <peternewman@...gle.com>, "dfustini@...libre.com"
	<dfustini@...libre.com>, "amitsinght@...vell.com" <amitsinght@...vell.com>,
	David Hildenbrand <david@...hat.com>, Rex Nie <rex.nie@...uarmicro.com>, Dave
 Martin <dave.martin@....com>
Subject: RE: [PATCH v1 06/31] x86/resctrl: Export resctrl fs's init function

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@....com>
> ---
>  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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ