Hi Reinette, On 5/7/24 15:27, Reinette Chatre wrote: > Hi Babu, > > On 5/6/2024 12:09 PM, Moger, Babu wrote: >> On 5/3/24 18:26, Reinette Chatre wrote: >>> On 3/28/2024 6:06 PM, Babu Moger wrote: > > ... > >>>> + * @mbm_assign_cntrs: Maximum number of assignable counters >>>> */ >>>> struct rdt_resource { >>>> int rid; >>>> @@ -188,6 +198,8 @@ struct rdt_resource { >>>> struct list_head evt_list; >>>> unsigned long fflags; >>>> bool cdp_capable; >>>> + bool mbm_assign_capable; >>>> + u32 mbm_assign_cntrs; >>>> }; >>> >>> Please check tabs vs spaces (in this whole series please). >> >> Sure. Will do. >> >>> >>> I'm thinking that a new "MBM specific" struct within >>> struct rdt_resource will be helpful to clearly separate the MBM related >>> data. This will be similar to struct resctrl_cache for >>> cache allocation and struct resctrl_membw for memory bandwidth >>> allocation. >> >> Did you mean to move all the fields for monitoring to move to new struct? >> >> Struct resctrl_mbm { >> int num_rmid; >> bool mbm_assign_capable; >> u32 mbm_assign_cntrs; >> }: >> > > Indeed, so not actually MBM specific but monitoring specific as you state (with > appropriate naming?). This is purely to help organize data within struct rdt_resource > and (similar to struct resctrl_cache and struct resctrl_membw) not a new > structure expected to be passed around. I think evt_list can also be a member. How about this? Lets keep assign_capable in main structure(like we have mon_capable) and move rest of them into new structure. Struct resctrl_mon { int num_rmid; struct list_head evt_list; u32 num_assign_cntrs; }: -- Thanks Babu Moger