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]
Message-ID:
 <TYAPR01MB63303577D268E2175A61D0968B3D2@TYAPR01MB6330.jpnprd01.prod.outlook.com>
Date: Wed, 3 Apr 2024 07:52:42 +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 09/31] x86/resctrl: Add a resctrl helper to reset all
 the resources

Hello James,

> On umount(), resctrl resets each resource back to its default configuration. It
> only ever does this for all resources in one go.
> 
> reset_all_ctrls() is architecture specific as it works with struct
> rdt_hw_resource.
> 
> Add an architecture helper to reset all resources.
> 
> Signed-off-by: James Morse <james.morse@....com>
> ---
>  arch/x86/include/asm/resctrl.h         |  2 ++
>  arch/x86/kernel/cpu/resctrl/rdtgroup.c | 16 +++++++++++-----
>  2 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h
> index f61382258743..5f6a5375bb4a 100644
> --- a/arch/x86/include/asm/resctrl.h
> +++ b/arch/x86/include/asm/resctrl.h
> @@ -15,6 +15,8 @@
>   */
>  #define X86_RESCTRL_EMPTY_CLOSID         ((u32)~0)
> 
> +void resctrl_arch_reset_resources(void);
> +
>  /**
>   * struct resctrl_pqr_state - State cache for the PQR MSR
>   * @cur_rmid:		The cached Resource Monitoring ID
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 1a49c9918f8d..13c24cb18d76 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -2859,6 +2859,14 @@ static int reset_all_ctrls(struct rdt_resource *r)
>  	return 0;
>  }
> 
> +void resctrl_arch_reset_resources(void)
> +{
> +	struct rdt_resource *r;
> +
> +	for_each_capable_rdt_resource(r)
Could you explain why not "for_each_alloc_capable_rdt_resource(r)"?

> +		reset_all_ctrls(r);
> +}
> +
>  /*
>   * Move tasks from one to the other group. If @from is NULL, then all tasks
>   * in the systems are moved unconditionally (used for teardown).
> @@ -2968,16 +2976,14 @@ static void rmdir_all_sub(void)
> 
>  static void rdt_kill_sb(struct super_block *sb)  {
> -	struct rdt_resource *r;
> -
>  	cpus_read_lock();
>  	mutex_lock(&rdtgroup_mutex);
> 
>  	rdt_disable_ctx();
> 
> -	/*Put everything back to default values. */
> -	for_each_alloc_capable_rdt_resource(r)
This was "for_each_alloc_capable_rdt_resource(r)".

Best regards, 
Shaopeng TAN

> -		reset_all_ctrls(r);
> +	/* Put everything back to default values. */
> +	resctrl_arch_reset_resources();
> +
>  	rmdir_all_sub();
>  	rdt_pseudo_lock_release();
>  	rdtgroup_default.mode = RDT_MODE_SHAREABLE;
> --
> 2.39.2


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ