Messages in this thread Patch in this message | | | From | "Yu, Fenghua" <> | Subject | Re: [PATCH 3/7] x86/resctrl: Add a new node-scoped resource to rdt_resources_all[] | Date | Fri, 27 Jan 2023 05:24:54 +0000 |
| |
Hi, Tony,
On 1/26/23 10:41, Tony Luck wrote: > Add a placeholder in the array of struct rdt_hw_resource to be used > for event monitoring of systems with Sub-NUMA Cluster enabled. > > Update get_domain_id() to handle SCOPE_NODE. > > Signed-off-by: Tony Luck <tony.luck@intel.com> > --- > arch/x86/kernel/cpu/resctrl/internal.h | 2 ++ > arch/x86/kernel/cpu/resctrl/core.c | 12 ++++++++++++ > 2 files changed, 14 insertions(+) > > diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h > index 15cea517efaa..39a62babd60b 100644 > --- a/arch/x86/kernel/cpu/resctrl/internal.h > +++ b/arch/x86/kernel/cpu/resctrl/internal.h > @@ -409,12 +409,14 @@ enum resctrl_res_level { > RDT_RESOURCE_L3, > RDT_RESOURCE_L2, > RDT_RESOURCE_MBA, > + RDT_RESOURCE_NODE, > > /* Must be the last */ > RDT_NUM_RESOURCES, > }; > > enum resctrl_scope { > + SCOPE_NODE, > SCOPE_L2_CACHE = 2, > SCOPE_L3_CACHE = 3 > }; > diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c > index 6914232acf84..19be6fe42ef3 100644 > --- a/arch/x86/kernel/cpu/resctrl/core.c > +++ b/arch/x86/kernel/cpu/resctrl/core.c > @@ -100,6 +100,16 @@ struct rdt_hw_resource rdt_resources_all[] = { > .fflags = RFTYPE_RES_MB, > }, > }, > + [RDT_RESOURCE_NODE] = > + { > + .r_resctrl = { > + .rid = RDT_RESOURCE_NODE, > + .name = "L3", "L3" was named as RDT_RESOURCE_L3 already. The duplicate name here may cause duplicate file names in info dir. Maybe rename it as "L3_NODE"?
> + .scope = SCOPE_NODE, > + .domains = domain_init(RDT_RESOURCE_NODE), > + .fflags = RFTYPE_RES_MB,
I'm not sure if fflags is RFTYPE_RES_MB | RFTYPE_RES_L3 for both cache and MB?
> + }, > + }, > }; > > /* > @@ -464,6 +474,8 @@ static int arch_domain_mbm_alloc(u32 num_rmid, struct rdt_hw_domain *hw_dom) > > static int get_domain_id(int cpu, enum resctrl_scope scope) > { > + if (scope == SCOPE_NODE) > + return cpu_to_node(cpu); > return get_cpu_cacheinfo_id(cpu, scope); > } >
Thanks.
-Fenghua
| |