From: Reinette Chatre <reinette.chatre@intel.com>
To: Babu Moger <babu.moger@amd.com>, <corbet@lwn.net>,
<tony.luck@intel.com>, <james.morse@arm.com>,
<tglx@linutronix.de>, <mingo@redhat.com>, <bp@alien8.de>,
<dave.hansen@linux.intel.com>
Cc: <Dave.Martin@arm.com>, <x86@kernel.org>, <hpa@zytor.com>,
<akpm@linux-foundation.org>, <paulmck@kernel.org>,
<rostedt@goodmis.org>, <Neeraj.Upadhyay@amd.com>,
<david@redhat.com>, <arnd@arndb.de>, <fvdl@google.com>,
<seanjc@google.com>, <jpoimboe@kernel.org>,
<pawan.kumar.gupta@linux.intel.com>, <xin@zytor.com>,
<manali.shukla@amd.com>, <tao1.su@linux.intel.com>,
<sohil.mehta@intel.com>, <kai.huang@intel.com>,
<xiaoyao.li@intel.com>, <peterz@infradead.org>,
<xin3.li@intel.com>, <kan.liang@linux.intel.com>,
<mario.limonciello@amd.com>, <thomas.lendacky@amd.com>,
<perry.yuan@amd.com>, <gautham.shenoy@amd.com>,
<chang.seok.bae@intel.com>, <linux-doc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <peternewman@google.com>,
<eranian@google.com>
Subject: Re: [PATCH v16 25/34] fs/resctrl: Add event configuration directory under info/L3_MON/
Date: Wed, 30 Jul 2025 13:04:54 -0700 [thread overview]
Message-ID: <99614342-b6ce-47ec-baf9-f5cdf42f77be@intel.com> (raw)
In-Reply-To: <13467b9a56bccf960974741741b4960a8f02e333.1753467772.git.babu.moger@amd.com>
Hi Babu,
On 7/25/25 11:29 AM, Babu Moger wrote:
> ---
> diff --git a/Documentation/filesystems/resctrl.rst b/Documentation/filesystems/resctrl.rst
> index 4c24c5f3f4c1..3dfc177f9792 100644
> --- a/Documentation/filesystems/resctrl.rst
> +++ b/Documentation/filesystems/resctrl.rst
> @@ -310,6 +310,38 @@ with the following files:
> # cat /sys/fs/resctrl/info/L3_MON/available_mbm_cntrs
> 0=30;1=30
>
> +"event_configs":
> + Directory that exists when "mbm_event" counter assignment mode is supported.
> + Contains sub-directory for each MBM event that can be assigned to a counter.
"Contains sub-directory" -> "Contains a sub-directory"?
> +
> + Two MBM events are supported by default: mbm_local_bytes and mbm_total_bytes.
> + Each MBM event's sub-directory contains a file named "event_filter" that is
> + used to view and modify which memory transactions the MBM event is configured
> + with.
> +
> + List of memory transaction types supported:
> +
> + ========================== ========================================================
> + Name Description
> + ========================== ========================================================
> + dirty_victim_writes_all Dirty Victims from the QOS domain to all types of memory
> + remote_reads_slow_memory Reads to slow memory in the non-local NUMA domain
> + local_reads_slow_memory Reads to slow memory in the local NUMA domain
> + remote_non_temporal_writes Non-temporal writes to non-local NUMA domain
> + local_non_temporal_writes Non-temporal writes to local NUMA domain
> + remote_reads Reads to memory in the non-local NUMA domain
> + local_reads Reads to memory in the local NUMA domain
> + ========================== ========================================================
> +
> + For example::
> +
> + # cat /sys/fs/resctrl/info/L3_MON/event_configs/mbm_total_bytes/event_filter
> + local_reads,remote_reads,local_non_temporal_writes,remote_non_temporal_writes,
> + local_reads_slow_memory,remote_reads_slow_memory,dirty_victim_writes_all
> +
> + # cat /sys/fs/resctrl/info/L3_MON/event_configs/mbm_local_bytes/event_filter
> + local_reads,local_non_temporal_writes,local_reads_slow_memory
> +
> "max_threshold_occupancy":
> Read/write file provides the largest value (in
> bytes) at which a previously used LLC_occupancy
...
> diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
> 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);
> +
There is inconsistency among the files introduced on how
"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.
2) Can it be guaranteed that the MBM events will monitor the default
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?
> + for (i = 0; i < NUM_MBM_TRANSACTIONS; i++) {
> + if (mevt->evt_cfg & mbm_transactions[i].val) {
> + if (sep)
> + seq_putc(seq, ',');
> + seq_printf(seq, "%s", mbm_transactions[i].name);
> + sep = true;
> + }
> + }
> + seq_putc(seq, '\n');
> +
> + mutex_unlock(&rdtgroup_mutex);
> +
> + return 0;
> +}
> +
> /**
> * resctrl_mon_resource_init() - Initialise global monitoring structures.
> *
> @@ -982,6 +1005,7 @@ int resctrl_mon_resource_init(void)
> RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
> resctrl_file_fflags_init("available_mbm_cntrs",
> RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
> + resctrl_file_fflags_init("event_filter", RFTYPE_ASSIGN_CONFIG);
> }
>
> return 0;
...
> @@ -2295,6 +2339,18 @@ static int rdtgroup_mkdir_info_resdir(void *priv, char *name,
> return ret;
>
> ret = rdtgroup_add_files(kn_subdir, fflags);
> + if (ret)
> + return ret;
> +
> + if ((fflags & RFTYPE_MON_INFO) == RFTYPE_MON_INFO) {
> + r = priv;
> + if (r->mon.mbm_cntr_assignable) {
> + ret = resctrl_mkdir_event_configs(r, kn_subdir);
> + if (ret)
> + return ret;
> + }
> + }
> +
> if (!ret)
> kernfs_activate(kn_subdir);
>
Looks like the "if (!ret)" above can be dropped to always call "kernfs_activate(kn_subdir)"
on exit making it clear that this is success path and function exits early on any error.
Reinette
next prev parent reply other threads:[~2025-07-30 20:05 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 18:29 [PATCH v16 00/34] x86,fs/resctrl: Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-07-25 18:29 ` [PATCH v16 01/34] x86,fs/resctrl: Consolidate monitor event descriptions Babu Moger
2025-07-30 19:47 ` Reinette Chatre
2025-07-30 20:23 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 02/34] x86,fs/resctrl: Replace architecture event enabled checks Babu Moger
2025-07-25 18:29 ` [PATCH v16 03/34] x86/resctrl: Remove 'rdt_mon_features' global variable Babu Moger
2025-07-25 18:29 ` [PATCH v16 04/34] x86,fs/resctrl: Prepare for more monitor events Babu Moger
2025-07-25 18:29 ` [PATCH v16 05/34] x86/cpufeatures: Add support for Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-07-30 19:47 ` Reinette Chatre
2025-07-25 18:29 ` [PATCH v16 06/34] x86/resctrl: Add ABMC feature in the command line options Babu Moger
2025-07-25 18:29 ` [PATCH v16 07/34] x86,fs/resctrl: Consolidate monitoring related data from rdt_resource Babu Moger
2025-07-25 18:29 ` [PATCH v16 08/34] x86,fs/resctrl: Detect Assignable Bandwidth Monitoring feature details Babu Moger
2025-07-30 19:49 ` Reinette Chatre
2025-08-06 21:04 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 09/34] x86/resctrl: Add support to enable/disable AMD ABMC feature Babu Moger
2025-07-25 18:29 ` [PATCH v16 10/34] fs/resctrl: Introduce the interface to display monitoring modes Babu Moger
2025-08-06 21:02 ` Moger, Babu
2025-08-06 21:30 ` Reinette Chatre
2025-07-25 18:29 ` [PATCH v16 11/34] fs/resctrl: Add resctrl file to display number of assignable counters Babu Moger
2025-08-06 21:12 ` Moger, Babu
2025-08-06 21:31 ` Reinette Chatre
2025-07-25 18:29 ` [PATCH v16 12/34] fs/resctrl: Introduce mbm_cntr_cfg to track assignable counters per domain Babu Moger
2025-07-25 18:29 ` [PATCH v16 13/34] fs/resctrl: Introduce interface to display number of free MBM counters Babu Moger
2025-08-06 21:19 ` Moger, Babu
2025-08-06 21:31 ` Reinette Chatre
2025-08-06 22:04 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 14/34] x86/resctrl: Add data structures and definitions for ABMC assignment Babu Moger
2025-07-25 18:29 ` [PATCH v16 15/34] fs/resctrl: Introduce event configuration field in struct mon_evt Babu Moger
2025-07-25 18:29 ` [PATCH v16 16/34] x86,fs/resctrl: Implement resctrl_arch_config_cntr() to assign a counter with ABMC Babu Moger
2025-07-30 19:50 ` Reinette Chatre
2025-07-25 18:29 ` [PATCH v16 17/34] fs/resctrl: Add the functionality to assign MBM events Babu Moger
2025-07-30 19:52 ` Reinette Chatre
2025-08-07 18:29 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 18/34] fs/resctrl: Add the functionality to unassign " Babu Moger
2025-07-30 19:53 ` Reinette Chatre
2025-08-07 18:33 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 19/34] fs/resctrl: Pass struct rdtgroup instead of individual members Babu Moger
2025-07-30 19:54 ` Reinette Chatre
2025-07-25 18:29 ` [PATCH v16 20/34] fs/resctrl: Introduce counter ID read, reset calls in mbm_event mode Babu Moger
2025-07-30 19:59 ` Reinette Chatre
2025-08-07 19:59 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 21/34] x86/resctrl: Refactor resctrl_arch_rmid_read() Babu Moger
2025-07-30 19:59 ` Reinette Chatre
2025-07-25 18:29 ` [PATCH v16 22/34] x86/resctrl: Implement resctrl_arch_reset_cntr() and resctrl_arch_cntr_read() Babu Moger
2025-07-30 20:01 ` Reinette Chatre
2025-08-08 2:05 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 23/34] fs/resctrl: Support counter read/reset with mbm_event assignment mode Babu Moger
2025-07-30 20:03 ` Reinette Chatre
2025-08-08 2:20 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 24/34] fs/resctrl: Add definitions for MBM event configuration Babu Moger
2025-07-30 20:03 ` Reinette Chatre
2025-08-08 2:24 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 25/34] fs/resctrl: Add event configuration directory under info/L3_MON/ Babu Moger
2025-07-30 20:04 ` Reinette Chatre [this message]
2025-08-08 13:56 ` Moger, Babu
2025-08-08 15:12 ` Reinette Chatre
2025-08-08 17:47 ` Moger, Babu
2025-08-08 18:23 ` Reinette Chatre
2025-08-08 18:48 ` Moger, Babu
2025-08-08 20:26 ` Reinette Chatre
2025-07-25 18:29 ` [PATCH v16 26/34] fs/resctrl: Provide interface to update the event configurations Babu Moger
2025-07-30 20:05 ` Reinette Chatre
2025-08-08 18:27 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 27/34] fs/resctrl: Introduce mbm_assign_on_mkdir to enable assignments on mkdir Babu Moger
2025-07-30 20:08 ` Reinette Chatre
2025-08-08 20:29 ` Moger, Babu
2025-08-08 21:00 ` Reinette Chatre
2025-08-08 21:10 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 28/34] fs/resctrl: Auto assign counters on mkdir and clean up on group removal Babu Moger
2025-07-30 20:08 ` Reinette Chatre
2025-08-11 23:39 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 29/34] fs/resctrl: Introduce mbm_L3_assignments to list assignments in a group Babu Moger
2025-07-30 20:09 ` Reinette Chatre
2025-08-11 23:42 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 30/34] fs/resctrl: Introduce the interface to modify " Babu Moger
2025-07-30 20:10 ` Reinette Chatre
2025-08-11 23:51 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 31/34] fs/resctrl: Disable BMEC event configuration when mbm_event mode is enabled Babu Moger
2025-07-30 20:11 ` Reinette Chatre
2025-08-12 19:16 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 32/34] fs/resctrl: Introduce the interface to switch between monitor modes Babu Moger
2025-07-30 20:11 ` Reinette Chatre
2025-08-12 19:18 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 33/34] x86/resctrl: Configure mbm_event mode if supported Babu Moger
2025-07-30 20:11 ` Reinette Chatre
2025-08-12 19:21 ` Moger, Babu
2025-07-25 18:29 ` [PATCH v16 34/34] MAINTAINERS: resctrl: add myself as reviewer Babu Moger
2025-07-30 20:14 ` Reinette Chatre
2025-08-12 19:23 ` Moger, Babu
2025-07-30 19:47 ` [PATCH v16 00/34] x86,fs/resctrl: Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Reinette Chatre
2025-07-30 23:31 ` Moger, Babu
2025-07-30 23:57 ` Reinette Chatre
2025-07-31 14:17 ` Moger, Babu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=99614342-b6ce-47ec-baf9-f5cdf42f77be@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=Neeraj.Upadhyay@amd.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=babu.moger@amd.com \
--cc=bp@alien8.de \
--cc=chang.seok.bae@intel.com \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=david@redhat.com \
--cc=eranian@google.com \
--cc=fvdl@google.com \
--cc=gautham.shenoy@amd.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=jpoimboe@kernel.org \
--cc=kai.huang@intel.com \
--cc=kan.liang@linux.intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=manali.shukla@amd.com \
--cc=mario.limonciello@amd.com \
--cc=mingo@redhat.com \
--cc=paulmck@kernel.org \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=perry.yuan@amd.com \
--cc=peternewman@google.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=seanjc@google.com \
--cc=sohil.mehta@intel.com \
--cc=tao1.su@linux.intel.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=xiaoyao.li@intel.com \
--cc=xin3.li@intel.com \
--cc=xin@zytor.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).