Re: [PATCH v6 08/22] x86/resctrl: Introduce interface to display number of monitoring counters

From: Reinette Chatre
Date: Tue Aug 20 2024 - 14:08:28 EST


Hi Babu,

On 8/20/24 8:56 AM, Moger, Babu wrote:
On 8/16/24 16:34, Reinette Chatre wrote:
On 8/6/24 3:00 PM, Babu Moger wrote:

diff --git a/Documentation/arch/x86/resctrl.rst
b/Documentation/arch/x86/resctrl.rst
index d4ec605b200a..fe9f10766c4f 100644
--- a/Documentation/arch/x86/resctrl.rst
+++ b/Documentation/arch/x86/resctrl.rst
@@ -291,6 +291,9 @@ with the following files:
          as long as there are enough RMID counters available to support
number
          of monitoring groups.
  +"num_mbm_cntrs":
+    The number of monitoring counters available for assignment.
+
  "max_threshold_occupancy":
          Read/write file provides the largest value (in
          bytes) at which a previously used LLC_occupancy
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c
b/arch/x86/kernel/cpu/resctrl/monitor.c
index 5e8706ab6361..83329cefebf7 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -1242,6 +1242,8 @@ int __init rdt_get_mon_l3_config(struct
rdt_resource *r)
              r->mon.num_mbm_cntrs = (ebx & 0xFFFF) + 1;
              if (WARN_ON(r->mon.num_mbm_cntrs > 64))
                  r->mon.num_mbm_cntrs = 64;
+
+            resctrl_file_fflags_init("num_mbm_cntrs", RFTYPE_MON_INFO);

The arch code should not access the resctrl file flags. This should be
moved to make
the MPAM support easier. With the arch code setting
r->mon.mbm_cntr_assignable the
fs code can use that to set the flags. Something similar to below patch is
needed:
https://lore.kernel.org/lkml/20240802172853.22529-27-james.morse@xxxxxxx/

It is just moving the calls resctrl_file_fflags_init() to resctrl_init().
The rdt_resource fields are already setup here. Something like
https://lore.kernel.org/lkml/20240802172853.22529-20-james.morse@xxxxxxx/

I feel it is better done when MBAM fs/arch separation.

Indeed, it belongs with the rest of the mon state setup that is organized
as part of the MPAM work.

Reinette