Re: [PATCH v7 23/24] x86/resctrl: Introduce interface to list assignment states of all the groups

From: Moger, Babu
Date: Fri Sep 27 2024 - 13:06:52 EST


Hi Reinette,

On 9/19/2024 12:53 PM, Reinette Chatre wrote:
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?

Yes. Will add output here.



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.

Sure. Will check.


"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.

Sure. Will move it up.



Reinette


Thanks
--
- Babu Moger