Hi Babu, On 9/4/24 3:21 PM, Babu Moger wrote: > diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c > index 7ad653b4e768..1d45120ff2b5 100644 > --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c > +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c > @@ -864,6 +864,13 @@ static int rdtgroup_rmid_show(struct kernfs_open_file *of, > return ret; > } > > +/* > + * Get the counter index for the assignable counter > + * 0 for evtid == QOS_L3_MBM_TOTAL_EVENT_ID > + * 1 for evtid == QOS_L3_MBM_LOCAL_EVENT_ID > + */ > +#define MBM_EVENT_ARRAY_INDEX(_event) ((_event) - 2) > + > static int rdtgroup_mbm_assign_mode_show(struct kernfs_open_file *of, > struct seq_file *s, void *v) > { > @@ -1898,6 +1905,45 @@ int resctrl_arch_assign_cntr(struct rdt_resource *r, struct rdt_mon_domain *d, > return 0; > } > > +/* > + * Assign a hardware counter to the group. > + * Counter will be assigned to all the domains if rdt_mon_domain is NULL > + * else the counter will be allocated to specific domain. > + */ > +int rdtgroup_assign_cntr(struct rdt_resource *r, struct rdtgroup *rdtgrp, > + struct rdt_mon_domain *d, enum resctrl_event_id evtid) Could we please review the naming of function as this series progresses? Using such a generic name for this specific function seems to result in its callers later in series having even more generic names that are hard to decipher. For example, later (very generic) "rdtgroup_assign_grp()" calls this function and I find rdtgroup_assign_grp() to be very vague making the code more difficult to follow. For example, rdtgroup_assign_cntr() could be rdtgroup_assign_cntr_event() and rdtgroup_assign_grp() could instead be rdtgroup_assign_cntr()? Please feel free to improve. > +{ > + int index = MBM_EVENT_ARRAY_INDEX(evtid); > + int cntr_id = rdtgrp->mon.cntr_id[index]; > + > + /* > + * Allocate a new counter id to the group if the counter id is not > + * is not assigned already. "is not is not" -> "is not" Reinette