Re: [PATCH v5 20/20] x86/resctrl: Introduce interface to modify assignment states of the groups

From: Reinette Chatre
Date: Thu Aug 01 2024 - 14:56:49 EST


Hi Babu and Peter,

On 7/25/24 10:28 AM, Moger, Babu wrote:
Hi Peter,

On 7/25/24 12:11, Peter Newman wrote:
Hi Babu,

On Wed, Jul 24, 2024 at 6:23 PM Moger, Babu <bmoger@xxxxxxx> wrote:

Hi Peter,

On 7/24/2024 7:03 PM, Peter Newman wrote:
Hi Babu,

On Wed, Jul 3, 2024 at 2:51 PM Babu Moger <babu.moger@xxxxxxx> wrote:

Introduce the interface to enable events in ABMC mode.

Events can be enabled or disabled by writing to file
/sys/fs/resctrl/info/L3_MON/mbm_control

Format is similar to the list format with addition of op-code for the
assignment operation.
"<CTRL_MON group>/<MON group>/<op-code><flags>"

Format for specific type of groups:

* Default CTRL_MON group:
"//<domain_id><op-code><flags>"

* Non-default CTRL_MON group:
"<CTRL_MON group>//<domain_id><op-code><flags>"

* Child MON group of default CTRL_MON group:
"/<MON group>/<domain_id><op-code><flags>"

* Child MON group of non-default CTRL_MON group:
"<CTRL_MON group>/<MON group>/<domain_id><op-code><flags>"

Just a reminder, Reinette and I had discussed[1] omitting the
domain_id for performing the same operation on all domains.

Yes. I remember. Lets refresh our memory.

I would really appreciate this, otherwise our most typical operations
could be really tedious and needlessly serialized.


# cat mbm_control
//0=tl;1=tl;2=tl;3=tl;4=tl;5=tl;6=tl;7=tl;8=tl;9=tl;10=tl;11=tl;12=tl;13=tl;14=tl;15=tl;16=tl;17=tl;18=tl;19=tl;20=tl;21=tl;22=tl;23=tl;24=tl;25=tl;26=tl;27=tl;28=tl;29=tl;30=tl;31=tl;
# echo '//-l' > mbm_control

What is the expectation here?
You want to unassign local event on all the domains?

Correct.


Domain id makes it easy to parse the command. Without that it parsing
code becomes messy.

How about something like this? We can use the max domain id to mean all
the domains. In the above case there are 32 domains(0-31). 32 is total
number of domains. We can get that details looking through all the
domains. We can print that detail when we list it.

This sounds like only a minor simplification to the parsing code. It
seems like it would be easy to determine if the final '/' is
immediately followed by an opcode (+-=_) rather than a number.

Ok. Will try to get that working. Will let you know if there are
complexities with that.--
Thanks
Babu Moger

Dave suggested [1] "*" to indicate "all domains". This seems an intuitive
addition to the interface to accomplish this goal.

Reinette

[1] https://lore.kernel.org/lkml/ZierjRNDMfg5swT8@xxxxxxxxxxxxxxx/