Hi Babu,
On 8/8/25 6:56 AM, Moger, Babu wrote:
On 7/30/2025 3:04 PM, Reinette Chatre wrote:hmmm ... ok, you say that you agree but I cannot tell if you are going to
On 7/25/25 11:29 AM, Babu Moger wrote:Yes. I agree.
diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.cThere is inconsistency among the files introduced on how
index 16bcfeeb89e6..fa5f63126682 100644
--- a/fs/resctrl/monitor.c
+++ b/fs/resctrl/monitor.c
@@ -929,6 +929,29 @@ struct mbm_transaction mbm_transactions[NUM_MBM_TRANSACTIONS] = {
{"dirty_victim_writes_all", DIRTY_VICTIMS_TO_ALL_MEM},
};
+int event_filter_show(struct kernfs_open_file *of, struct seq_file *seq, void *v)
+{
+ struct mon_evt *mevt = rdt_kn_parent_priv(of->kn);
+ bool sep = false;
+ int i;
+
+ mutex_lock(&rdtgroup_mutex);
+
"mbm_event mode disabled" case is handled. Some files return failure
from their _show()/_write() when "mbm_event mode is disabled", some don't.
The "event_filter" file always prints the MBM transactions monitored
when assignable counters are supported, whether mbm_event mode is enabled
or not. This means that the MBM event's configuration values are printed
when "default" mode is enabled. I have two concerns about this
1) This is potentially very confusing since switching to "default" will
make the BMEC files visible that will enable the user to modify the
event configurations per domain. Having this file print a global event
configuration while there are potentially various different domain-specific
configuration active will be confusing.
do anything about it.
On a system with BMEC enabled the mbm_total_bytes_config and mbm_local_bytes_config
files should be the *only* source of MBM event configuration information, no?
It may be ok to have event_filter print configuration when assignable counters are disabled
if BMEC is not supported but that would require that this information will always be
known for a "default" monitoring setup. While this may be true for AMD it is not obvious
to me that this is universally true. Once this file exists in this form resctrl will always
be required to provide data for the event configuration and it is not clear to me that
this can always be guaranteed.
Yes, but it creates this strange dependency where the "default" monitoring mode2) Can it be guaranteed that the MBM events will monitor the defaultSo, initialize both total and local event configuration to default values when switched to "default mode"?
assignable counter memory transactions when in "default" mode? It has
never been possible to query which memory transactions are monitored by
the default X86_FEATURE_CQM_MBM_TOTAL and X86_FEATURE_CQM_MBM_LOCAL features
so this seems to use one feature to deduce capabilities or another?
Something like this?
mon_event_all[QOS_L3_MBM_TOTAL_EVENT_ID].evt_cfg = r->mon.mbm_cfg_mask;
mon_event_all[QOS_L3_MBM_LOCAL_EVENT_ID].evt_cfg = READS_TO_LOCAL_MEM | READS_TO_LOCAL_S_MEM | NON_TEMP_WRITE_TO_LOCAL_MEM;
We are already doing that right (in patch 32)?
(that has been supported long before configurable events and assignable counters came
along) requires support of "assignable counter mode".
Consider it from another view, if resctrl wants to make event configuration available
for the "default" mode then the "event_filter" file could always be visible when MBM
local/total is supported to give users insight into what is monitored, whether
assignable counters are supported or not. This is not possible on systems that do
not support ABMC though, right?