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: Thu, 4 Apr 2024 07:43:03 +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 30/31] x86/resctrl: Move the filesystem bits to headers
 visible to fs/resctrl

Hello James

> Once the filesystem parts of resctrl move to fs/resctrl, it cannot rely on
> definitions in x86's internal.h.
> 
> Move definitions in internal.h that need to be shared between the filesystem
> and architecture code to header files that fs/resctrl can include.
> 
> Doing this separately means the filesystem code only moves between files of
> the same name, instead of having these changes mixed in too.
> 
> Signed-off-by: James Morse <james.morse@....com>
> ---
>  arch/x86/include/asm/resctrl.h         |  3 +++
>  arch/x86/kernel/cpu/resctrl/core.c     |  5 ++++
>  arch/x86/kernel/cpu/resctrl/internal.h | 36 --------------------------
>  include/linux/resctrl.h                |  3 +++
>  include/linux/resctrl_types.h          | 30
> +++++++++++++++++++++
>  5 files changed, 41 insertions(+), 36 deletions(-)
> 
> diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h
> index 491342f56811..746431c66fc4 100644
> --- a/arch/x86/include/asm/resctrl.h
> +++ b/arch/x86/include/asm/resctrl.h
> @@ -218,6 +218,9 @@ int resctrl_arch_measure_l2_residency(void *_plr);  int
> resctrl_arch_measure_l3_residency(void *_plr);  void
> resctrl_cpu_detect(struct cpuinfo_x86 *c);
> 
> +bool resctrl_arch_get_cdp_enabled(enum resctrl_res_level l); int
> +resctrl_arch_set_cdp_enabled(enum resctrl_res_level l, bool enable);
> +
>  #else
> 
>  static inline void resctrl_arch_sched_in(struct task_struct *tsk) {} diff --git
> a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> index f94ad04023c3..c0fb2e22e110 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -306,6 +306,11 @@ static void rdt_get_cdp_l2_config(void)
>  	rdt_get_cdp_config(RDT_RESOURCE_L2);
>  }
> 
> +bool resctrl_arch_get_cdp_enabled(enum resctrl_res_level l) {
> +	return rdt_resources_all[l].cdp_enabled; }
> +
>  static void
>  mba_wrmsr_amd(struct rdt_domain *d, struct msr_param *m, struct
> rdt_resource *r)  { diff --git a/arch/x86/kernel/cpu/resctrl/internal.h
> b/arch/x86/kernel/cpu/resctrl/internal.h
> index 56218193a8ba..0f7e3f10941b 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -15,12 +15,6 @@
> 
>  #define L2_QOS_CDP_ENABLE		0x01ULL
> 
> -#define CQM_LIMBOCHECK_INTERVAL	1000
> -
> -#define MBM_CNTR_WIDTH_BASE		24
> -#define MBM_OVERFLOW_INTERVAL		1000
> -#define MAX_MBA_BW			100u
> -#define MBA_IS_LINEAR			0x4
>  #define MBM_CNTR_WIDTH_OFFSET_AMD	20
> 
>  #define RMID_VAL_ERROR			BIT_ULL(63)
> @@ -210,29 +204,6 @@ struct rdtgroup {
>  	struct pseudo_lock_region	*plr;
>  };
> 
> -/* rdtgroup.flags */
> -#define	RDT_DELETED		1
> -
> -/* rftype.flags */
> -#define RFTYPE_FLAGS_CPUS_LIST	1
> -
> -/*
> - * Define the file type flags for base and info directories.
> - */
> -#define RFTYPE_INFO			BIT(0)
> -#define RFTYPE_BASE			BIT(1)
> -#define RFTYPE_CTRL			BIT(4)
> -#define RFTYPE_MON			BIT(5)
> -#define RFTYPE_TOP			BIT(6)
> -#define RFTYPE_RES_CACHE		BIT(8)
> -#define RFTYPE_RES_MB			BIT(9)
> -#define RFTYPE_DEBUG			BIT(10)
> -#define RFTYPE_CTRL_INFO		(RFTYPE_INFO | RFTYPE_CTRL)
> -#define RFTYPE_MON_INFO			(RFTYPE_INFO |
> RFTYPE_MON)
> -#define RFTYPE_TOP_INFO			(RFTYPE_INFO |
> RFTYPE_TOP)
> -#define RFTYPE_CTRL_BASE		(RFTYPE_BASE | RFTYPE_CTRL)
> -#define RFTYPE_MON_BASE			(RFTYPE_BASE |
> RFTYPE_MON)
> -
>  /* List of all resource groups */
>  extern struct list_head rdt_all_groups;
> 
> @@ -370,13 +341,6 @@ static inline struct rdt_resource *resctrl_inc(struct
> rdt_resource *res)
>  	return &hw_res->r_resctrl;
>  }
> 
> -static inline bool resctrl_arch_get_cdp_enabled(enum resctrl_res_level l) -{
> -	return rdt_resources_all[l].cdp_enabled;
> -}
> -
> -int resctrl_arch_set_cdp_enabled(enum resctrl_res_level l, bool enable);
> -
>  /*
>   * To return the common struct rdt_resource, which is contained in struct
>   * rdt_hw_resource, walk the resctrl member of struct rdt_hw_resource.
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h index
> f786ffceeda3..00cc0457af50 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -41,6 +41,9 @@ int proc_resctrl_show(struct seq_file *m,
>   */
>  #define RESCTRL_MAX_CBM			32
> 
> +extern unsigned int resctrl_rmid_realloc_limit; extern unsigned int
> +resctrl_rmid_realloc_threshold;
> +

These two variables has been defined.
 44 extern unsigned int resctrl_rmid_realloc_limit;
 45 extern unsigned int resctrl_rmid_realloc_threshold;
400 extern unsigned int resctrl_rmid_realloc_threshold;
401 extern unsigned int resctrl_rmid_realloc_limit;

Best regards,
Shaopeng TAN

>  /**
>   * struct pseudo_lock_region - pseudo-lock region information
>   * @s:			Resctrl schema for the resource to which this
> diff --git a/include/linux/resctrl_types.h b/include/linux/resctrl_types.h
> index 4788bd95dac6..fe0b10b589c0 100644
> --- a/include/linux/resctrl_types.h
> +++ b/include/linux/resctrl_types.h
> @@ -7,6 +7,36 @@
>  #ifndef __LINUX_RESCTRL_TYPES_H
>  #define __LINUX_RESCTRL_TYPES_H
> 
> +#define CQM_LIMBOCHECK_INTERVAL	1000
> +
> +#define MBM_CNTR_WIDTH_BASE		24
> +#define MBM_OVERFLOW_INTERVAL		1000
> +#define MAX_MBA_BW			100u
> +#define MBA_IS_LINEAR			0x4
> +
> +/* rdtgroup.flags */
> +#define	RDT_DELETED		1
> +
> +/* rftype.flags */
> +#define RFTYPE_FLAGS_CPUS_LIST	1
> +
> +/*
> + * Define the file type flags for base and info directories.
> + */
> +#define RFTYPE_INFO			BIT(0)
> +#define RFTYPE_BASE			BIT(1)
> +#define RFTYPE_CTRL			BIT(4)
> +#define RFTYPE_MON			BIT(5)
> +#define RFTYPE_TOP			BIT(6)
> +#define RFTYPE_RES_CACHE		BIT(8)
> +#define RFTYPE_RES_MB			BIT(9)
> +#define RFTYPE_DEBUG			BIT(10)
> +#define RFTYPE_CTRL_INFO		(RFTYPE_INFO | RFTYPE_CTRL)
> +#define RFTYPE_MON_INFO			(RFTYPE_INFO |
> RFTYPE_MON)
> +#define RFTYPE_TOP_INFO			(RFTYPE_INFO |
> RFTYPE_TOP)
> +#define RFTYPE_CTRL_BASE		(RFTYPE_BASE | RFTYPE_CTRL)
> +#define RFTYPE_MON_BASE			(RFTYPE_BASE |
> RFTYPE_MON)
> +
>  /* Reads to Local DRAM Memory */
>  #define READS_TO_LOCAL_MEM		BIT(0)
> 
> --
> 2.39.2


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ