From: "Moger, Babu" <babu.moger@amd.com>
To: Reinette Chatre <reinette.chatre@intel.com>,
corbet@lwn.net, tglx@linutronix.de, mingo@redhat.com,
bp@alien8.de, dave.hansen@linux.intel.com
Cc: fenghua.yu@intel.com, x86@kernel.org, hpa@zytor.com,
thuth@redhat.com, paulmck@kernel.org, rostedt@goodmis.org,
akpm@linux-foundation.org, xiongwei.song@windriver.com,
pawan.kumar.gupta@linux.intel.com,
daniel.sneddon@linux.intel.com, perry.yuan@amd.com,
sandipan.das@amd.com, kai.huang@intel.com, xiaoyao.li@intel.com,
seanjc@google.com, jithu.joseph@intel.com, brijesh.singh@amd.com,
xin3.li@intel.com, ebiggers@google.com,
andrew.cooper3@citrix.com, mario.limonciello@amd.com,
james.morse@arm.com, tan.shaopeng@fujitsu.com,
tony.luck@intel.com, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, peternewman@google.com,
maciej.wieczor-retman@intel.com, eranian@google.com,
jpoimboe@kernel.org, thomas.lendacky@amd.com
Subject: Re: [PATCH v9 08/26] x86/resctrl: Introduce the interface to display monitor mode
Date: Mon, 18 Nov 2024 13:04:45 -0600 [thread overview]
Message-ID: <33cd0cc0-4f81-4a2d-a327-0c976219996a@amd.com> (raw)
In-Reply-To: <fe518638-a82e-4136-ae77-fa6a7abb4b2e@intel.com>
Hi Reinette,
On 11/15/24 18:00, Reinette Chatre wrote:
> Hi Babu,
>
> On 10/29/24 4:21 PM, Babu Moger wrote:
>> Introduce the interface file "mbm_assign_mode" to list monitor modes
>> supported.
>>
>> The "mbm_cntr_assign" mode provides the option to assign a counter to
>> an RMID, event pair and monitor the bandwidth as long as it is assigned.
>>
>> On AMD systems "mbm_cntr_assign" is backed by the ABMC (Assignable
>> Bandwidth Monitoring Counters) hardware feature and is enabled by default.
>>
>> The "default" mode is the existing monitoring mode that works without the
>> explicit counter assignment, instead relying on dynamic counter assignment
>> by hardware that may result in hardware not dedicating a counter resulting
>> in monitoring data reads returning "Unavailable".
>>
>> Provide an interface to display the monitor mode on the system.
>> $ cat /sys/fs/resctrl/info/L3_MON/mbm_assign_mode
>> [mbm_cntr_assign]
>> default
>>
>> Signed-off-by: Babu Moger <babu.moger@amd.com>
>> ---
>> v9: Updated user documentation based on comments.
>>
>> v8: Commit message update.
>>
>> v7: Updated the descriptions/commit log in resctrl.rst to generic text.
>> Thanks to James and Reinette.
>> Rename mbm_mode to mbm_assign_mode.
>> Introduced mutex lock in rdtgroup_mbm_mode_show().
>>
>> v6: Added documentation for mbm_cntr_assign and legacy mode.
>> Moved mbm_mode fflags initialization to static initialization.
>>
>> v5: Changed interface name to mbm_mode.
>> It will be always available even if ABMC feature is not supported.
>> Added description in resctrl.rst about ABMC mode.
>> Fixed display abmc and legacy consistantly.
>>
>> v4: Fixed the checks for legacy and abmc mode. Default it ABMC.
>>
>> v3: New patch to display ABMC capability.
>> ---
>> Documentation/arch/x86/resctrl.rst | 33 ++++++++++++++++++++++++++
>> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 31 ++++++++++++++++++++++++
>> 2 files changed, 64 insertions(+)
>>
>> diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst
>> index 30586728a4cd..a93d7980e25f 100644
>> --- a/Documentation/arch/x86/resctrl.rst
>> +++ b/Documentation/arch/x86/resctrl.rst
>> @@ -257,6 +257,39 @@ with the following files:
>> # cat /sys/fs/resctrl/info/L3_MON/mbm_local_bytes_config
>> 0=0x30;1=0x30;3=0x15;4=0x15
>>
>> +"mbm_assign_mode":
>> + Reports the list of monitoring modes supported. The enclosed brackets
>> + indicate which mode is enabled.
>> + ::
>> +
>> + # cat /sys/fs/resctrl/info/L3_MON/mbm_assign_mode
>> + [mbm_cntr_assign]
>> + default
>> +
>> + "mbm_cntr_assign":
>> +
>> + In mbm_cntr_assign mode user-space is able to specify which of the
>> + events in CTRL_MON or MON groups should have a counter assigned using the
>> + "mbm_assign_control" file. The number of counters available is described
>> + in the "num_mbm_cntrs" file. Changing the mode may cause all counters on
>> + a resource to reset.
>> +
>> + The mode is useful on platforms which support more CTRL_MON and MON
>> + groups than the hardware counters, meaning 'unassigned' events on CTRL_MON or
>
> " than the hardware counters" -> " than hardware counters"?
Sure.
>
>> + MON groups will report 'Unavailable' or count the traffic in an unpredictable
>> + way.
>
> I think the above can be confusing to users. It mentioned "*will* report Unavailable"
> and then "*or* count the traffic in an unpredictable way". It is not possible for
> counter to report "Unavailable" while also reporting unpredictable data.
>
> My concern is that there is no way for a user to know if the platform supports more
> CTRL_MON and MON groups than hardware counters and the above seems to imply that counters
> may be unreliable ... so how does a user know if counters are unreliable or not?
That is correct. There is no definite way to find out if the counters are
unreliable.
>
> Can this be made specific to help users know if their platforms are impacted? From
> what I know all AMD platforms are impacted so perhaps a straight-forward:
>
> "The mode is useful on AMD platforms which support more CTRL_MON and MON ..."
Sure.
>
> I'm concerned that users with Intel platforms may want to use the "mbm_cntr_assign" mode
> to make the event data "more predictable" and then be concerned when the mode does
> not exist.
>
> As an alternative, is it possible to know the number of hardware counters on AMD systems
> without ABMC? I wonder if we could perhaps always expose num_mbm_cntrs as a way for
> users to know if their platform may be impacted by this type of "unpredictability" (by comparing
> num_mbm_cntrs to num_rmids).
There is some round about(or hacky) way to find that out number of RMIDs
that can be active.
>
>> +
>> + AMD Platforms with ABMC (Assignable Bandwidth Monitoring Counters) feature
>> + enable this mode by default so that counters remain assigned even when the
>> + corresponding RMID is not in use by any processor.
>> +
>> + "default":
>> +
>> + In default mode resctrl assumes there is a hardware counter for each
>> + event within every CTRL_MON and MON group. Reading mbm_total_bytes or
>> + mbm_local_bytes may report 'Unavailable' if there is no counter associated
>> + with that event.
>
> If I understand correctly, on AMD platforms without ABMC the events only report
> "Unavailable" if there is no counter assigned at the time of the query. If a counter
> is unassigned and then reassigned then the event count will reset and the user
> will get some data back but it may thus be unpredictable (to match earlier language).
> Is this correct? Any AMD platform in "default" mode may thus be vulnerable to
> "unpredictable" event counts (not just "Unavailable") ... this gets complicated
Yes. All the AMD systems without ABMC are affected by this problem.
> because users should be steered to avoid "default" mode if mbm_assign_mode is
> available, while not be made concerned to use "default" mode on Intel where
> mbm_assign_mode is not available.
Can we add text to clarify this?
>
> Reinette
>
>
--
Thanks
Babu Moger
next prev parent reply other threads:[~2024-11-18 19:04 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-29 23:21 [PATCH v9 00/26] x86/resctrl : Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2024-10-29 23:21 ` [PATCH v9 01/26] x86/resctrl: Add __init attribute for the functions called in resctrl_late_init Babu Moger
2024-11-15 23:21 ` Reinette Chatre
2024-11-18 17:44 ` Moger, Babu
2024-11-18 22:07 ` Reinette Chatre
2024-11-20 20:02 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 02/26] x86/cpufeatures: Add support for Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2024-10-29 23:21 ` [PATCH v9 03/26] x86/resctrl: Add ABMC feature in the command line options Babu Moger
2024-10-29 23:21 ` [PATCH v9 04/26] x86/resctrl: Consolidate monitoring related data from rdt_resource Babu Moger
2024-10-29 23:21 ` [PATCH v9 05/26] x86/resctrl: Detect Assignable Bandwidth Monitoring feature details Babu Moger
2024-10-29 23:21 ` [PATCH v9 06/26] x86/resctrl: Introduce resctrl_file_fflags_init() to initialize fflags Babu Moger
2024-10-29 23:21 ` [PATCH v9 07/26] x86/resctrl: Add support to enable/disable AMD ABMC feature Babu Moger
2024-10-29 23:21 ` [PATCH v9 08/26] x86/resctrl: Introduce the interface to display monitor mode Babu Moger
2024-11-16 0:00 ` Reinette Chatre
2024-11-18 19:04 ` Moger, Babu [this message]
2024-11-18 22:07 ` Reinette Chatre
2024-11-22 18:25 ` Moger, Babu
2024-11-22 21:37 ` Reinette Chatre
2024-11-23 0:02 ` Moger, Babu
2024-11-25 18:17 ` Reinette Chatre
2024-11-26 17:09 ` Moger, Babu
2024-11-26 19:01 ` Reinette Chatre
2024-11-26 21:57 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 09/26] x86/resctrl: Introduce interface to display number of monitoring counters Babu Moger
2024-11-16 0:06 ` Reinette Chatre
2024-11-18 21:31 ` Moger, Babu
2025-02-03 13:26 ` Peter Newman
2024-10-29 23:21 ` [PATCH v9 10/26] x86/resctrl: Introduce bitmap mbm_cntr_free_map to track assignable counters Babu Moger
2024-11-16 0:11 ` Reinette Chatre
2024-10-29 23:21 ` [PATCH v9 11/26] x86/resctrl: Introduce mbm_total_cfg and mbm_local_cfg in struct rdt_hw_mon_domain Babu Moger
2024-10-29 23:21 ` [PATCH v9 12/26] x86/resctrl: Remove MSR reading of event configuration value Babu Moger
2024-11-16 0:24 ` Reinette Chatre
2024-11-19 16:50 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 13/26] x86/resctrl: Introduce mbm_cntr_map to track assignable counters at domain Babu Moger
2024-10-29 23:21 ` [PATCH v9 14/26] x86/resctrl: Introduce interface to display number of free counters Babu Moger
2024-10-29 23:57 ` Luck, Tony
2024-10-30 14:15 ` Moger, Babu
2024-11-04 14:14 ` Peter Newman
2024-11-04 17:31 ` Moger, Babu
2024-11-16 0:31 ` Reinette Chatre
2024-11-19 19:20 ` Moger, Babu
2024-11-21 21:12 ` Reinette Chatre
2024-11-22 23:36 ` Moger, Babu
2024-11-25 19:00 ` Reinette Chatre
2024-11-26 23:31 ` Moger, Babu
2024-11-26 23:56 ` Reinette Chatre
2024-11-27 14:57 ` Moger, Babu
2024-11-27 19:05 ` Reinette Chatre
2024-11-28 11:10 ` Peter Newman
2024-11-28 19:35 ` Moger, Babu
2024-11-29 9:59 ` Peter Newman
2024-11-29 17:06 ` Moger, Babu
2024-12-02 10:43 ` Peter Newman
2024-12-02 15:02 ` Moger, Babu
2024-12-02 18:33 ` Reinette Chatre
2024-12-02 19:48 ` Moger, Babu
2024-12-02 20:15 ` Reinette Chatre
2024-12-02 20:42 ` Moger, Babu
2024-12-02 21:09 ` Reinette Chatre
2024-12-02 21:28 ` Moger, Babu
2024-12-02 21:47 ` Reinette Chatre
2024-12-02 22:06 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 15/26] x86/resctrl: Add data structures and definitions for ABMC assignment Babu Moger
2024-11-16 0:35 ` Reinette Chatre
2024-10-29 23:21 ` [PATCH v9 16/26] x86/resctrl: Introduce cntr_id in mongroup for assignments Babu Moger
2024-11-16 0:38 ` Reinette Chatre
2024-11-19 20:02 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 17/26] x86/resctrl: Implement resctrl_arch_config_cntr() to assign a counter with ABMC Babu Moger
2024-10-29 23:54 ` Luck, Tony
2024-10-30 14:14 ` Moger, Babu
2024-11-16 0:44 ` Reinette Chatre
2024-11-19 20:12 ` Moger, Babu
2024-11-21 20:18 ` Reinette Chatre
2024-11-22 18:54 ` Moger, Babu
2024-11-22 21:52 ` Reinette Chatre
2024-11-23 0:15 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 18/26] x86/resctrl: Add the interface to assign/update counter assignment Babu Moger
2024-11-16 0:57 ` Reinette Chatre
2024-11-20 18:05 ` Moger, Babu
2024-11-21 20:50 ` Reinette Chatre
2024-11-22 21:04 ` Moger, Babu
2024-11-22 22:07 ` Reinette Chatre
2024-11-23 0:09 ` Moger, Babu
2024-12-04 4:16 ` Fenghua Yu
2024-10-29 23:21 ` [PATCH v9 19/26] x86/resctrl: Add the interface to unassign a MBM counter Babu Moger
2024-11-04 14:16 ` Peter Newman
2024-11-04 18:21 ` Moger, Babu
2024-11-05 10:35 ` Peter Newman
2024-11-05 19:58 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 20/26] x86/resctrl: Auto assign/unassign counters when mbm_cntr_assign is enabled Babu Moger
2024-11-18 17:18 ` Reinette Chatre
2024-11-22 0:22 ` Moger, Babu
2024-11-22 0:26 ` Moger, Babu
2024-11-22 18:12 ` Reinette Chatre
2024-11-22 21:34 ` Moger, Babu
2024-12-04 4:16 ` Fenghua Yu
2024-12-04 17:03 ` Reinette Chatre
2024-12-04 17:14 ` Moger, Babu
2024-12-04 17:19 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 21/26] x86/resctrl: Report "Unassigned" for MBM events in mbm_cntr_assign mode Babu Moger
2024-11-18 17:39 ` Reinette Chatre
2024-11-20 19:14 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 22/26] x86/resctrl: Introduce the interface to switch between monitor modes Babu Moger
2024-10-29 23:21 ` [PATCH v9 23/26] x86/resctrl: Configure mbm_cntr_assign mode if supported Babu Moger
2024-11-18 19:23 ` Reinette Chatre
2024-11-20 18:59 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 24/26] x86/resctrl: Update assignments on event configuration changes Babu Moger
2024-11-18 19:43 ` Reinette Chatre
2024-11-21 2:14 ` Moger, Babu
2024-11-21 20:58 ` Reinette Chatre
2024-11-22 20:12 ` Moger, Babu
2024-10-29 23:21 ` [PATCH v9 25/26] x86/resctrl: Introduce interface to list assignment states of all the groups Babu Moger
2024-10-29 23:21 ` [PATCH v9 26/26] x86/resctrl: Introduce interface to modify assignment states of " Babu Moger
2024-11-18 21:51 ` Reinette Chatre
2024-11-21 20:29 ` 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=33cd0cc0-4f81-4a2d-a327-0c976219996a@amd.com \
--to=babu.moger@amd.com \
--cc=akpm@linux-foundation.org \
--cc=andrew.cooper3@citrix.com \
--cc=bp@alien8.de \
--cc=brijesh.singh@amd.com \
--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=fenghua.yu@intel.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=jithu.joseph@intel.com \
--cc=jpoimboe@kernel.org \
--cc=kai.huang@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=sandipan.das@amd.com \
--cc=seanjc@google.com \
--cc=tan.shaopeng@fujitsu.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=xiongwei.song@windriver.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
all inboxes | Powered by JetHome®