Re: [PATCH v15-RFC 1/8] x86/resctrl: Split the RDT_RESOURCE_L3 resource

From: Moger, Babu
Date: Fri Feb 09 2024 - 10:28:32 EST


Hi Tony,

On 1/30/24 16:20, Tony Luck wrote:
> The RDT_RESOURCE_L3 is unique in that it is used for both monitoring
> an control functions. This made sense while both uses had the same

an/and

> scope. But systems with Sub-NUMA clustering enabled do not follow this
> pattern.
>
> Create a new resource: RDT_RESOURCE_L3_MON ready to take over the
> monitoring functions.
>
> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
> ---
> arch/x86/kernel/cpu/resctrl/internal.h | 1 +
> arch/x86/kernel/cpu/resctrl/core.c | 10 ++++++++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
> index 52e7e7deee10..c6051bc70e96 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -429,6 +429,7 @@ DECLARE_STATIC_KEY_FALSE(rdt_alloc_enable_key);
> extern struct dentry *debugfs_resctrl;
>
> enum resctrl_res_level {
> + RDT_RESOURCE_L3_MON,
> RDT_RESOURCE_L3,

How about?
RDT_RESOURCE_L3,
RDT_RESOURCE_L3_MON,

> RDT_RESOURCE_L2,
> RDT_RESOURCE_MBA,
> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> index aa9810a64258..c50f55d7790e 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -60,6 +60,16 @@ mba_wrmsr_amd(struct rdt_domain *d, struct msr_param *m,
> #define domain_init(id) LIST_HEAD_INIT(rdt_resources_all[id].r_resctrl.domains)
>
> struct rdt_hw_resource rdt_resources_all[] = {
> + [RDT_RESOURCE_L3_MON] =
> + {
> + .r_resctrl = {
> + .rid = RDT_RESOURCE_L3_MON,
> + .name = "L3",

L3_MON ?

> + .cache_level = 3,
> + .domains = domain_init(RDT_RESOURCE_L3_MON),
> + .fflags = RFTYPE_RES_CACHE,
> + },
> + },
> [RDT_RESOURCE_L3] =
> {
> .r_resctrl = {

--
Thanks
Babu Moger