[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41ca7504-c3fb-ddb6-e149-4ff82019d678@amd.com>
Date: Mon, 4 Mar 2024 16:24:24 -0600
From: "Moger, Babu" <bmoger@....com>
To: Reinette Chatre <reinette.chatre@...el.com>, babu.moger@....com,
James Morse <james.morse@....com>, corbet@....net, fenghua.yu@...el.com,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, Peter Newman <peternewman@...gle.com>
Cc: x86@...nel.org, hpa@...or.com, paulmck@...nel.org, rdunlap@...radead.org,
tj@...nel.org, peterz@...radead.org, yanjiewtw@...il.com,
kim.phillips@....com, lukas.bulwahn@...il.com, seanjc@...gle.com,
jmattson@...gle.com, leitao@...ian.org, jpoimboe@...nel.org,
rick.p.edgecombe@...el.com, kirill.shutemov@...ux.intel.com,
jithu.joseph@...el.com, kai.huang@...el.com, kan.liang@...ux.intel.com,
daniel.sneddon@...ux.intel.com, pbonzini@...hat.com, sandipan.das@....com,
ilpo.jarvinen@...ux.intel.com, maciej.wieczor-retman@...el.com,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org, eranian@...gle.com
Subject: Re: [PATCH v2 00/17] x86/resctrl : Support AMD Assignable Bandwidth
Monitoring Counters (ABMC)
Hi Reinette,
On 3/4/2024 1:58 PM, Reinette Chatre wrote:
> Hi Babu,
>
> On 3/4/2024 11:34 AM, Moger, Babu wrote:
>> On 3/1/2024 5:20 PM, Reinette Chatre wrote:
>>> On 3/1/2024 12:36 PM, Moger, Babu wrote:
>>>> On 2/29/24 15:50, Reinette Chatre wrote:
>>>>> On 2/29/2024 12:37 PM, Moger, Babu wrote:
>>>> To assign a counters to default group on domain 0.
>>>> $echo "//00=+lt;01=+lt" > /sys/fs/resctrl/info/L3_MON/mbm_assign_control
>>> It should not be necessary to use both "=" and "+" in the same assignment.
>>> I think of "=" as "assign" and "+" as append ("-" as remove).
>> Here are our options.
>>
>> a. assign one event (+)
> I prefer that we use consistent interface with what users may be used to
> in other kernel interfaces, like dynamic debug.
> Considering that, "+" will not be "assign one event" but instead
> (let me copy text from dynamic debug to help):
> "+ add the given flags"
>
> So + will add (append) the provided flags to the matching domain, it
> can be multiple flags and does not impact existing flags.
ok. Sure.
>
>> b. unassign one event (-)
> "- remove the given flags" - it can be multiple flags that should be
> removed from domain.
>
>> c. assign both (++ may be?)
> No. Please do not constrain the interface with what needs to be supported
> for ABMC. We may want to add other flags in the future, do not limit it to
> two flags.
ok Sure.
>
>> d. unassign both (_)
> "=_" will unassign all flags without consideration of which flags
> are set. User can also use "-l" to just unassign local MBM, "-t" to
> unassign total MBM, or "-lt" to unassign local and total MBM specifically.
oh ok. got it.
>
>> I think append ( "=") is not required while assigning. It is confusing.
> "=" is not append. It is assign:
>
> " = set the flags to the given flags"
ok.
>
>> Assign or Add both involve same action.
>>
>> How about this? This might be easy to parse. May be space (" ") after the domain id.
> Why a space?
>
>> <group>/<domain id> <action><event>; <domain id> <action><event>
>>
> <control group>/<monitor group/<domain id><action><flags or _>;<domain id><action><flags or _>
Based on our discussion, I am listing few examples here. Let me know if
I missed something.
mount -t resctrl resctrl /sys/fs/resctrl/
1. Assign both local and total counters to default group on domain 0 and 1.
$echo "//00=lt;01=lt" > /sys/fs/resctrl/info/L3_MON/mbm_assign_control
$cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control
//00=lt;01=lt
2. Assign a total event to mon group inside the default group for both
domain 0 and 1.
$mkdir /sys/fs/resctrl/mon_groups/mon_a
$echo "/mon_a/00+t;01+t" >
/sys/fs/resctrl/info/L3_MON/mbm_assign_control
$cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control
//00=lt;01=lt
/mon_a/00=t;01=t
3. Assign a local event to non-default control mon group both domain 0
and 1.
$mkdir /sys/fs/resctrl/ctrl_a
$echo "/ctrl_a/00=l;01=l" >
/sys/fs/resctrl/info/L3_MON/mbm_assign_control
$cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control
//00=lt;01=lt
/mon_a/00=t;01=t
/ctrl_a/00=l;01=l
4. Assign a both counters to mon group inside another control
group(non-default).
$mkdir /sys/fs/resctrl/ctrl_a/mon_ab/
$echo "ctrl_a/mon_ab/00=lt;01=lt" >
/sys/fs/resctrl/nfo/L3_MON/mbm_assign_contro
$cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control
//00=lt;01=lt
/mon_a/00=t;01=t
/ctrl_a/00=l;01=l
ctrl_a/mon_ab/00=lt;01=lt
5. Unassign a counter to mon group inside another control
group(non-default).
$echo "ctrl_a/mon_ab/00-l;01-l" >
/sys/fs/resctrl/nfo/L3_MON/mbm_assign_control
$cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control
//00=lt;01=lt
/mon_a/00=t;01=t
/ctrl_a/00=l;01=l
ctrl_a/mon_ab/00=t;01=t
6. Unassign all the counters on a specific group.
$echo "ctrl_a/mon_ab/00=_" >
/sys/fs/resctrl/nfo/L3_MON/mbm_assign_control
$cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control
//00=lt;01=lt
/mon_a/00=t;01=t
/ctrl_a/00=l;01=l
ctrl_a/mon_ab/00=_;01=_
Thanks
Babu Moger
Powered by blists - more mailing lists