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: <3d66b98a-2715-b17c-9485-c819a7bb0182@amd.com>
Date: Fri, 15 Nov 2024 10:19:55 -0600
From: "Moger, Babu" <bmoger@....com>
To: Tony Luck <tony.luck@...el.com>, Fenghua Yu <fenghua.yu@...el.com>,
 Reinette Chatre <reinette.chatre@...el.com>,
 Peter Newman <peternewman@...gle.com>, Jonathan Corbet <corbet@....net>,
 x86@...nel.org
Cc: James Morse <james.morse@....com>, Jamie Iles <quic_jiles@...cinc.com>,
 Babu Moger <babu.moger@....com>, Randy Dunlap <rdunlap@...radead.org>,
 "Shaopeng Tan (Fujitsu)" <tan.shaopeng@...itsu.com>,
 linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
 patches@...ts.linux.dev
Subject: Re: [PATCH v9 1/9] x86/resctrl: Introduce resctrl_file_fflags_init()
 to initialize fflags

Tony, Looks good. Thanks

On 11/13/2024 6:17 PM, Tony Luck wrote:
> From: Babu Moger <babu.moger@....com>
> 
> thread_throttle_mode_init() and mbm_config_rftype_init() both initialize
> fflags for resctrl files.
> 
> Adding new files will involve adding another function to initialize
> the fflags. This can be simplified by adding a new function
> resctrl_file_fflags_init() and passing the file name and flags
> to be initialized.
> 
> Consolidate fflags initialization into resctrl_file_fflags_init() and
> remove thread_throttle_mode_init() and mbm_config_rftype_init().
> 
> Signed-off-by: Babu Moger <babu.moger@....com>
> Reviewed-by: Reinette Chatre <reinette.chatre@...el.com>
> Signed-off-by: Tony Luck <tony.luck@...el.com>
> ---
>   arch/x86/kernel/cpu/resctrl/internal.h |  3 +--
>   arch/x86/kernel/cpu/resctrl/core.c     |  4 +++-
>   arch/x86/kernel/cpu/resctrl/monitor.c  |  6 ++++--
>   arch/x86/kernel/cpu/resctrl/rdtgroup.c | 15 ++-------------
>   4 files changed, 10 insertions(+), 18 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
> index 955999aecfca..faaff9d64102 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -647,8 +647,7 @@ void cqm_handle_limbo(struct work_struct *work);
>   bool has_busy_rmid(struct rdt_mon_domain *d);
>   void __check_limbo(struct rdt_mon_domain *d, bool force_free);
>   void rdt_domain_reconfigure_cdp(struct rdt_resource *r);
> -void __init thread_throttle_mode_init(void);
> -void __init mbm_config_rftype_init(const char *config);
> +void resctrl_file_fflags_init(const char *config, unsigned long fflags);
>   void rdt_staged_configs_clear(void);
>   bool closid_allocated(unsigned int closid);
>   int resctrl_find_cleanest_closid(void);
> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> index b681c2e07dbf..f3ee5859b69d 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -234,7 +234,9 @@ static __init bool __get_mem_config_intel(struct rdt_resource *r)
>   		r->membw.throttle_mode = THREAD_THROTTLE_PER_THREAD;
>   	else
>   		r->membw.throttle_mode = THREAD_THROTTLE_MAX;
> -	thread_throttle_mode_init();
> +
> +	resctrl_file_fflags_init("thread_throttle_mode",
> +				 RFTYPE_CTRL_INFO | RFTYPE_RES_MB);
>   
>   	r->alloc_capable = true;
>   
> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
> index 851b561850e0..7ef1a293cc13 100644
> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
> @@ -1223,11 +1223,13 @@ int __init rdt_get_mon_l3_config(struct rdt_resource *r)
>   
>   		if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) {
>   			mbm_total_event.configurable = true;
> -			mbm_config_rftype_init("mbm_total_bytes_config");
> +			resctrl_file_fflags_init("mbm_total_bytes_config",
> +						 RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
>   		}
>   		if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL)) {
>   			mbm_local_event.configurable = true;
> -			mbm_config_rftype_init("mbm_local_bytes_config");
> +			resctrl_file_fflags_init("mbm_local_bytes_config",
> +						 RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
>   		}
>   	}
>   
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index d7163b764c62..2b198ef95e1e 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -2020,24 +2020,13 @@ static struct rftype *rdtgroup_get_rftype_by_name(const char *name)
>   	return NULL;
>   }
>   
> -void __init thread_throttle_mode_init(void)
> -{
> -	struct rftype *rft;
> -
> -	rft = rdtgroup_get_rftype_by_name("thread_throttle_mode");
> -	if (!rft)
> -		return;
> -
> -	rft->fflags = RFTYPE_CTRL_INFO | RFTYPE_RES_MB;
> -}
> -
> -void __init mbm_config_rftype_init(const char *config)
> +void resctrl_file_fflags_init(const char *config, unsigned long fflags)
>   {
>   	struct rftype *rft;
>   
>   	rft = rdtgroup_get_rftype_by_name(config);
>   	if (rft)
> -		rft->fflags = RFTYPE_MON_INFO | RFTYPE_RES_CACHE;
> +		rft->fflags = fflags;
>   }
>   
>   /**

-- 
- Babu Moger

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ