[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1a7e2a89-4006-4180-88c6-aa7cad76fba1@amd.com>
Date: Tue, 22 Jul 2025 13:15:42 -0500
From: "Moger, Babu" <babu.moger@....com>
To: Reinette Chatre <reinette.chatre@...el.com>, corbet@....net,
tony.luck@...el.com, james.morse@....com, tglx@...utronix.de,
mingo@...hat.com, bp@...en8.de, dave.hansen@...ux.intel.com
Cc: Dave.Martin@....com, x86@...nel.org, hpa@...or.com,
akpm@...ux-foundation.org, paulmck@...nel.org, rostedt@...dmis.org,
Neeraj.Upadhyay@....com, david@...hat.com, arnd@...db.de, fvdl@...gle.com,
seanjc@...gle.com, jpoimboe@...nel.org, pawan.kumar.gupta@...ux.intel.com,
xin@...or.com, manali.shukla@....com, tao1.su@...ux.intel.com,
sohil.mehta@...el.com, kai.huang@...el.com, xiaoyao.li@...el.com,
peterz@...radead.org, xin3.li@...el.com, kan.liang@...ux.intel.com,
mario.limonciello@....com, thomas.lendacky@....com, perry.yuan@....com,
gautham.shenoy@....com, chang.seok.bae@...el.com, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, peternewman@...gle.com, eranian@...gle.com
Subject: Re: [PATCH v15 24/34] fs/resctrl: Report 'Unassigned' for MBM events
in mbm_event mode
Hi Reinette,
On 7/17/25 22:53, Reinette Chatre wrote:
> Hi Babu,
>
> On 7/8/25 3:17 PM, Babu Moger wrote:
>> When the "mbm_event" counter assignment mode is enabled, a hardware counter
>> must be assigned to read the event.
>>
>> Report 'Unassigned' in case the user attempts to read the event without
>> assigning a hardware counter.
>>
>> Signed-off-by: Babu Moger <babu.moger@....com>
>> ---
>
>
>
>> ---
>> Documentation/filesystems/resctrl.rst | 8 ++++++++
>> fs/resctrl/ctrlmondata.c | 6 ++++++
>> 2 files changed, 14 insertions(+)
>>
>> diff --git a/Documentation/filesystems/resctrl.rst b/Documentation/filesystems/resctrl.rst
>> index 446736dbd97f..4f5eb5bbd4b5 100644
>> --- a/Documentation/filesystems/resctrl.rst
>> +++ b/Documentation/filesystems/resctrl.rst
>> @@ -434,6 +434,14 @@ When monitoring is enabled all MON groups will also contain:
>> for the L3 cache they occupy). These are named "mon_sub_L3_YY"
>> where "YY" is the node number.
>>
>> + The "mbm_event" counter assignment mode offers "num_mbm_cntrs" number of
>> + counters and allows users to assign counters to mon_hw_id, event pairs
>> + enabling bandwidth monitoring for as long as the counter remains assigned.
>> + The hardware will continue tracking the assigned counter until the user
>> + manually unassigns it, ensuring that event data is not reset during this
>> + period. An MBM event returns 'Unassigned' when the event does not have
>> + a hardware counter assigned.
>
> Most of this duplicates the "mbm_event" description added in patch #10. It should just
> be sufficient to mention that this applies to "mbm_event" counter assignment mode
> and then user can look up the main description in the doc.
>
> The last sentence is related to this section and need an update to reflect behavior
> when a CTRL_MON event is read and it or some of the MON groups do not have
> counters assigned. The paragraph that precedes this does describe how the sum
> works so this can tie into that.
Just added following text.
When the 'mbm_event' counter assignment mode is enabled, reading
an MBM event returns 'Unassigned' if no hardware counter is assigned
to it. For CTRL_MON groups, 'Unassigned' is returned if none of the
events in the CTRL_MON group or its associated MON groups have assigned
counters.
>
>> +
>> "mon_hw_id":
>> Available only with debug option. The identifier used by hardware
>> for the monitor group. On x86 this is the RMID.
>> diff --git a/fs/resctrl/ctrlmondata.c b/fs/resctrl/ctrlmondata.c
>> index ce766b2cdfc1..45351673e4ee 100644
>> --- a/fs/resctrl/ctrlmondata.c
>> +++ b/fs/resctrl/ctrlmondata.c
>> @@ -661,10 +661,16 @@ int rdtgroup_mondata_show(struct seq_file *m, void *arg)
>>
>> checkresult:
>>
>> + /*
>> + * -ENOENT is a special case, set only when "mbm_event" counter assignment
>> + * mode is enabled and no counter has been assigned.
>> + */
>> if (rr.err == -EIO)
>> seq_puts(m, "Error\n");
>> else if (rr.err == -EINVAL)
>> seq_puts(m, "Unavailable\n");
>> + else if (rr.err == -ENOENT)
>> + seq_puts(m, "Unassigned\n");
>> else
>> seq_printf(m, "%llu\n", rr.val);
>>
>
> As mentioned in previous patch, please squash with previous patch.
>
Sure.
--
Thanks
Babu Moger
Powered by blists - more mailing lists