From: "Moger, Babu" <babu.moger@amd.com>
To: Reinette Chatre <reinette.chatre@intel.com>,
tony.luck@intel.com, peternewman@google.com
Cc: corbet@lwn.net, tglx@linutronix.de, mingo@redhat.com,
bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org,
hpa@zytor.com, paulmck@kernel.org, akpm@linux-foundation.org,
thuth@redhat.com, rostedt@goodmis.org, ardb@kernel.org,
gregkh@linuxfoundation.org, daniel.sneddon@linux.intel.com,
jpoimboe@kernel.org, alexandre.chartre@oracle.com,
pawan.kumar.gupta@linux.intel.com, thomas.lendacky@amd.com,
perry.yuan@amd.com, seanjc@google.com, kai.huang@intel.com,
xiaoyao.li@intel.com, kan.liang@linux.intel.com,
xin3.li@intel.com, ebiggers@google.com, xin@zytor.com,
sohil.mehta@intel.com, andrew.cooper3@citrix.com,
mario.limonciello@amd.com, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, maciej.wieczor-retman@intel.com,
eranian@google.com
Subject: Re: [PATCH v12 18/26] x86/resctrl: Add default MBM event configurations for mbm_cntr_assign mode
Date: Tue, 15 Apr 2025 13:48:00 -0500 [thread overview]
Message-ID: <15852d2a-5a44-4d15-aecd-d28660a40a85@amd.com> (raw)
In-Reply-To: <8c3aa9cd-335e-415d-a9d3-35593fdbe812@intel.com>
Hi Reinette,
On 4/11/25 16:44, Reinette Chatre wrote:
> Hi Babu,
>
> On 4/3/25 5:18 PM, Babu Moger wrote:
>> By default, each resctrl group supports two MBM events: mbm_total_bytes
>> and mbm_local_bytes. To maintain the same level of support, two default
>> MBM configurations are added. These configurations will initially be used
>> to set up the counters upon mounting, while users will have the option to
>> modify them as needed.
>
> This jumps in quite fast by stating that MBM configurations are added but
> there is no definition of what an MBM configuration is.
How about this?
By default, each resctrl group supports two MBM events: mbm_total_bytes
and mbm_local_bytes. These represent total and local memory bandwidth
monitoring, respectively. Each event corresponds to a specific MBM
configuration. Use these default configurations to set up the counters
during mount. Allow users to modify the configurations as needed after
initialization.
Initialize resctrl MBM events with default configurations.
>> to set up the counters upon mounting, while users will have the option to
>> modify them as needed.
>
>>
>> Event configuration values:
>> ========================================================
>> Bits Mnemonics Description
>> ==== ========================================================
>> 6 VictimBW Dirty Victims from all types of memory
>> 5 RmtSlowFill Reads to slow memory in the non-local NUMA domain
>> 4 LclSlowFill Reads to slow memory in the local NUMA domain
>> 3 RmtNTWr Non-temporal writes to non-local NUMA domain
>> 2 LclNTWr Non-temporal writes to local NUMA domain
>> 1 mtFill Reads to memory in the non-local NUMA domain
>> 0 LclFill Reads to memory in the local NUMA domain
>> ==== ========================================================
>
> What is the purpose of the mnemonics?
I replace with full text on each of these.
>
>>
>> Signed-off-by: Babu Moger <babu.moger@amd.com>
>> ---
>> v12: New patch to support event configurations via new counter_configs
>> method.
>> ---
>> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 15 +++++++++++++++
>> include/linux/resctrl_types.h | 17 +++++++++++++++++
>> 2 files changed, 32 insertions(+)
>>
>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> index d84f47db4e43..aba23e2096db 100644
>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> @@ -57,6 +57,21 @@ static struct kernfs_node *kn_mongrp;
>> /* Kernel fs node for "mon_data" directory under root */
>> static struct kernfs_node *kn_mondata;
>>
>> +struct mbm_evt_value mbm_evt_values[NUM_MBM_EVT_VALUES] = {
>> + {"local_reads", 0x1},
>> + {"remote_reads", 0x2},
>> + {"local_non_temporal_writes", 0x4},
>> + {"remote_non_temporal_writes", 0x8},
>> + {"local_reads_slow_memory", 0x10},
>> + {"remote_reads_slow_memory", 0x20},
>> + {"dirty_victim_writes_all", 0x40},
>> +};
>> +
>> +struct mbm_assign_config mbm_assign_configs[NUM_MBM_ASSIGN_CONFIGS] = {
>> + {"mbm_total_bytes", QOS_L3_MBM_TOTAL_EVENT_ID, 0x7f},
>> + {"mbm_local_bytes", QOS_L3_MBM_LOCAL_EVENT_ID, 0x15},
>> +};
>> +
>> /*
>> * Used to store the max resource name width to display the schemata names in
>> * a tabular format.
>> diff --git a/include/linux/resctrl_types.h b/include/linux/resctrl_types.h
>> index f26450b3326b..3d98c7bdb459 100644
>> --- a/include/linux/resctrl_types.h
>> +++ b/include/linux/resctrl_types.h
>
> Please read changelog of f16adbaf9272 ("x86/resctrl: Move resctrl types to a separate header")
> for a good explanation of what resctrl_types.h is used for.
Sure.
>
>> @@ -31,6 +31,9 @@
>> /* Max event bits supported */
>> #define MAX_EVT_CONFIG_BITS GENMASK(6, 0)
>>
>> +#define NUM_MBM_EVT_VALUES 7
>> +#define NUM_MBM_ASSIGN_CONFIGS 2
>
> Please keep changes to internal header files unless required.
Will move these to internal header.
>
>> +
>> enum resctrl_res_level {
>> RDT_RESOURCE_L3,
>> RDT_RESOURCE_L2,
>> @@ -51,4 +54,18 @@ enum resctrl_event_id {
>> QOS_L3_MBM_LOCAL_EVENT_ID = 0x03,
>> };
>>
>> +struct mbm_evt_value {
>> + char evt_name[32];
>> + u32 evt_val;
>> +};
>
> I cannot see how this belongs in resctrl_types.h.
Will move these to internal header.
>
>> +
>> +/**
>> + * struct mbm_assign_config - Configuration values
>
> Please include a run of scripts/kernel-doc in your patch preparation steps.
ok. Sure.
>
> The description "Configuration values" is incredibly vague.
ok. Will add details.
>
>> + */
>> +struct mbm_assign_config {
>> + char name[32];
>> + enum resctrl_event_id evtid;
>> + u32 val;
>> +};
>
> Why is this new struct needed? It looks to me like a duplicate of struct
> mon_evt with one member added. There is also already the evt_list as part
> of a monitor resource that the array introduced here seems to duplicate.
Yes. We can probably do that.
>
> Could the event configuration be made a member of struct mon_evt instead?
> This exposes the need to integrate this better with BMEC support to make
> clear how existing "configurable" member should used and/or expanded.
Sure.
>
> There seems more and more overlap with Tony's RMID work. Did you get a
> chance to look at that?
Looked little bit. Will have look bit closer again.
>
>> +
>> #endif /* __LINUX_RESCTRL_TYPES_H */
>
> Reinette
>
--
Thanks
Babu Moger
next prev parent reply other threads:[~2025-04-15 18:48 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-04 0:18 [PATCH v12 00/26] x86/resctrl : Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-04-04 0:18 ` [PATCH v12 01/26] x86/resctrl: Introduce mbm_total_cfg and mbm_local_cfg in struct rdt_hw_mon_domain Babu Moger
2025-04-11 20:49 ` Reinette Chatre
2025-04-14 15:56 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 02/26] x86/resctrl: Remove MSR reading of event configuration value Babu Moger
2025-04-11 20:50 ` Reinette Chatre
2025-04-14 15:57 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 03/26] x86/cpufeatures: Add support for Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-04-11 20:52 ` Reinette Chatre
2025-04-14 17:48 ` Moger, Babu
2025-04-15 16:09 ` Reinette Chatre
2025-04-15 19:43 ` Moger, Babu
2025-04-16 16:08 ` Reinette Chatre
2025-04-17 14:27 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 04/26] x86/resctrl: Add ABMC feature in the command line options Babu Moger
2025-04-04 0:18 ` [PATCH v12 05/26] x86/resctrl: Consolidate monitoring related data from rdt_resource Babu Moger
2025-04-04 0:18 ` [PATCH v12 06/26] x86/resctrl: Detect Assignable Bandwidth Monitoring feature details Babu Moger
2025-04-04 0:18 ` [PATCH v12 07/26] x86/resctrl: Add support to enable/disable AMD ABMC feature Babu Moger
2025-04-04 0:18 ` [PATCH v12 08/26] x86/resctrl: Introduce the interface to display monitor mode Babu Moger
2025-04-11 20:56 ` Reinette Chatre
2025-04-14 19:52 ` Moger, Babu
2025-04-15 16:22 ` Reinette Chatre
2025-04-16 14:05 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 09/26] x86/resctrl: Introduce interface to display number of monitoring counters Babu Moger
2025-04-11 21:01 ` Reinette Chatre
2025-04-14 20:12 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 10/26] x86/resctrl: Introduce mbm_cntr_cfg to track assignable counters at domain Babu Moger
2025-04-04 0:18 ` [PATCH v12 11/26] x86/resctrl: Introduce interface to display number of free MBM counters Babu Moger
2025-04-04 0:18 ` [PATCH v12 12/26] x86/resctrl: Add data structures and definitions for ABMC assignment Babu Moger
2025-04-11 21:01 ` Reinette Chatre
2025-04-14 20:30 ` Moger, Babu
2025-04-15 16:30 ` Reinette Chatre
2025-04-16 15:43 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 13/26] x86/resctrl: Implement resctrl_arch_config_cntr() to assign a counter with ABMC Babu Moger
2025-04-11 21:02 ` Reinette Chatre
2025-04-14 20:51 ` Moger, Babu
2025-04-15 16:38 ` Reinette Chatre
2025-04-16 15:51 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 14/26] x86/resctrl: Add the functionality to assign MBM events Babu Moger
2025-04-11 21:04 ` Reinette Chatre
2025-04-15 14:20 ` Moger, Babu
2025-04-15 16:53 ` Reinette Chatre
2025-04-16 17:09 ` Moger, Babu
2025-04-16 17:55 ` Luck, Tony
2025-04-16 18:17 ` Moger, Babu
2025-04-16 19:02 ` Reinette Chatre
2025-04-16 19:29 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 15/26] x86/resctrl: Add the functionality to unassign " Babu Moger
2025-04-04 0:18 ` [PATCH v12 16/26] x86/resctrl: Report 'Unassigned' for MBM events in mbm_cntr_assign mode Babu Moger
2025-04-11 21:08 ` Reinette Chatre
2025-04-15 15:00 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 17/26] x86/resctrl: Add the support for reading ABMC counters Babu Moger
2025-04-11 21:21 ` Reinette Chatre
2025-04-15 16:41 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 18/26] x86/resctrl: Add default MBM event configurations for mbm_cntr_assign mode Babu Moger
2025-04-11 21:44 ` Reinette Chatre
2025-04-15 18:48 ` Moger, Babu [this message]
2025-04-15 19:25 ` Luck, Tony
2025-04-16 16:21 ` Reinette Chatre
2025-04-16 17:26 ` Moger, Babu
2025-04-16 16:18 ` Reinette Chatre
2025-04-16 17:27 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 19/26] x86/resctrl: Add event configuration directory under info/L3_MON/ Babu Moger
2025-04-11 22:04 ` Reinette Chatre
2025-04-15 20:29 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 20/26] x86/resctrl: Provide interface to update the event configurations Babu Moger
2025-04-11 22:07 ` Reinette Chatre
2025-04-15 20:37 ` Moger, Babu
2025-04-16 18:52 ` Reinette Chatre
2025-04-17 14:34 ` Moger, Babu
2025-04-17 15:09 ` Reinette Chatre
2025-04-17 20:19 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 21/26] x86/resctrl: Introduce mbm_assign_on_mkdir to configure assignments Babu Moger
2025-04-11 22:08 ` Reinette Chatre
2025-04-15 20:39 ` Moger, Babu
2025-04-04 0:18 ` [PATCH v12 22/26] x86/resctrl: Auto assign/unassign counters when mbm_cntr_assign is enabled Babu Moger
2025-04-04 0:18 ` [PATCH v12 23/26] x86/resctrl: Introduce mbm_L3_assignments to list assignments in a group Babu Moger
2025-04-04 0:18 ` [PATCH v12 24/26] x86/resctrl: Introduce the interface to modify " Babu Moger
2025-04-04 0:18 ` [PATCH v12 25/26] x86/resctrl: Introduce the interface to switch between monitor modes Babu Moger
2025-04-04 0:18 ` [PATCH v12 26/26] x86/resctrl: Configure mbm_cntr_assign mode if supported Babu Moger
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=15852d2a-5a44-4d15-aecd-d28660a40a85@amd.com \
--to=babu.moger@amd.com \
--cc=akpm@linux-foundation.org \
--cc=alexandre.chartre@oracle.com \
--cc=andrew.cooper3@citrix.com \
--cc=ardb@kernel.org \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=daniel.sneddon@linux.intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=ebiggers@google.com \
--cc=eranian@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.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=maciej.wieczor-retman@intel.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=reinette.chatre@intel.com \
--cc=rostedt@goodmis.org \
--cc=seanjc@google.com \
--cc=sohil.mehta@intel.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=thuth@redhat.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