Hi Babu, On 9/4/24 3:21 PM, Babu Moger wrote: > Provide the interface to list the assignment states of all the resctrl > groups in mbm_cntr_assign mode. > > Example: > $cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control It is not clear what is intended with above example, was it intended to have some output? > > List follows the following format: > > "<CTRL_MON group>/<MON group>/<domain_id>=<flags>" > > Format for specific type of groups: > > - Default CTRL_MON group: > "//<domain_id>=<flags>" > > - Non-default CTRL_MON group: > "<CTRL_MON group>//<domain_id>=<flags>" > > - Child MON group of default CTRL_MON group: > "/<MON group>/<domain_id>=<flags>" > > - Child MON group of non-default CTRL_MON group: > "<CTRL_MON group>/<MON group>/<domain_id>=<flags>" > > Flags can be one of the following: > t MBM total event is enabled > l MBM local event is enabled > tl Both total and local MBM events are enabled > _ None of the MBM events are enabled > > Signed-off-by: Babu Moger <babu.moger@xxxxxxx> > --- > +"mbm_assign_control": > + Reports the resctrl group and monitor status of each group. > + > + List follows the following format: > + "<CTRL_MON group>/<MON group>/<domain_id>=<flags>" > + > + Format for specific type of groups: > + > + * Default CTRL_MON group: > + "//<domain_id>=<flags>" > + > + * Non-default CTRL_MON group: > + "<CTRL_MON group>//<domain_id>=<flags>" > + > + * Child MON group of default CTRL_MON group: > + "/<MON group>/<domain_id>=<flags>" > + > + * Child MON group of non-default CTRL_MON group: > + "<CTRL_MON group>/<MON group>/<domain_id>=<flags>" > + > + Flags can be one of the following: > + :: > + > + t MBM total event is assigned. > + l MBM local event is assigned. > + tl Both total and local MBM events are assigned. > + _ None of the MBM events are assigned. > + > + Examples: > + :: > + > + # mkdir /sys/fs/resctrl/mon_groups/child_default_mon_grp > + # mkdir /sys/fs/resctrl/non_default_ctrl_mon_grp > + # mkdir /sys/fs/resctrl/non_default_ctrl_mon_grp/mon_groups/child_non_default_mon_grp > + > + # cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > + non_default_ctrl_mon_grp//0=tl;1=tl; > + non_default_ctrl_mon_grp/child_non_default_mon_grp/0=tl;1=tl; > + //0=tl;1=tl; > + /child_default_mon_grp/0=tl;1=tl; > + > + There are four resctrl groups. All the groups have total and local MBM events > + assigned on domain 0 and 1. > + Please create the docs in chosen format, like htmldocs, and see how it ends up being formatted. For example, above seems to be intended to be a code sample but the description ("There are four resctrl ...") appears as part of the code sample. > "max_threshold_occupancy": > Read/write file provides the largest value (in > bytes) at which a previously used LLC_occupancy ... > +static int rdtgroup_mbm_assign_control_show(struct kernfs_open_file *of, > + struct seq_file *s, void *v) > +{ > + struct rdt_resource *r = of->kn->parent->priv; > + struct rdt_mon_domain *dom; > + struct rdtgroup *rdtg; > + char str[10]; > + > + mutex_lock(&rdtgroup_mutex); > + > + if (!resctrl_arch_mbm_cntr_assign_enabled(r)) { > + rdt_last_cmd_puts("mbm_cntr_assign mode is not enabled\n"); > + mutex_unlock(&rdtgroup_mutex); > + return -EINVAL; > + } > + > + rdt_last_cmd_clear(); This should be done before any attempt to write to the buffer. Reinette