From: Reinette Chatre <reinette.chatre@intel.com>
To: Borislav Petkov <bp@alien8.de>
Cc: "Luck, Tony" <tony.luck@intel.com>,
Babu Moger <babu.moger@amd.com>, "Moger, Babu" <bmoger@amd.com>,
"x86@kernel.org" <x86@kernel.org>,
"Dave.Martin@arm.com" <Dave.Martin@arm.com>,
"james.morse@arm.com" <james.morse@arm.com>,
"corbet@lwn.net" <corbet@lwn.net>,
"skhan@linuxfoundation.org" <skhan@linuxfoundation.org>,
"tglx@kernel.org" <tglx@kernel.org>,
"mingo@redhat.com" <mingo@redhat.com>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"hpa@zytor.com" <hpa@zytor.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"Eranian, Stephane" <eranian@google.com>,
"peternewman@google.com" <peternewman@google.com>
Subject: Re: [PATCH 1/2] x86/resctrl, Documentation: Keep mbm_assign_mode "default" on boot
Date: Sat, 1 Aug 2026 16:47:01 -0700 [thread overview]
Message-ID: <5f10ceab-5569-409b-8e78-c4a4f232489f@intel.com> (raw)
In-Reply-To: <20260801012227.GEam1KUyMz601QOzrT@fat_crate.local>
Hi Boris,
On 7/31/26 6:22 PM, Borislav Petkov wrote:
> On Fri, Jul 31, 2026 at 07:59:46AM -0700, Reinette Chatre wrote:
>> The underlying implementations appear to be different between AMD and Intel.
>> On Intel side only the RMIDs (not separate hardware counters) need to be
>> considered. resctrl supports this RMID limit by placing a limit on how many
>> monitoring groups the user can create.
>
> Sounds to me like the AMD side should do this too, no, if it doesn't already?
AMD PQoS (whether it supports ABMC or not) also exposes an RMID limit that is used
as the upper limit for the number of monitor groups that can be tracked by the hardware.
> I mean, it is kinda natural behavior to track counter occupancy and deny the
> allocation of new ones if there are none free...
On AMD the RMID limit is separate from the hardware counters that feed event count
values into the RMID event counts. On AMD the two limits are significantly different.
Babu shared [1] that the hardware of concern exposes 4096 RMID while it supports 32
(exposed to software) hardware counters when ABMC is enabled and 64 (not exposed to
software) RMID when AMBC is disabled.
resctrl could theoretically limit the number of monitor groups based on the number of
RMID that could be accurately counted (with the caveat that resctrl cannot always
determine this number) but based on the numbers supported by hardware that would severely
limit the number of monitor groups users can create on this hardware.
Users want to create a lot of monitor groups. Each monitor group contains a group of
tasks that need to be monitored together. Creating a monitor group and assigning tasks
to it is expensive since it involves the actual resctrl monitor group file hierarchy
creation followed by interacting with these files to move the tasks into the monitoring
group that internally involves changes to the various task_struct's.
While resctrl could thus limit the number of monitor groups it would push the
burden of monitoring many different task groups up to user space at significant cost.
Instead, resctrl exposes a per-monitor group interface on AMD systems that support
ABMC by enabling user space to more quickly switch which of the supported monitor groups
are counted at a particular time.
>
>> The Intel/RDT spec does leave room for this to occur but a return of
>> "Unavailable" when reading a monitoring event is not encountered on current
>> Intel hardware.
>
> Why not? Because nothing's reaching that limit or?
On Intel resctrl only considers the number of RMID. Hardware will return failure if there
is an attempt to read an unsupported RMID that exceeds the limit it exposes, but resctrl
does not do that. On Intel there is not a separate "hardware counter" limit to consider,
only the number of RMID need to be considered and they are always counting.
>
>> The user can always expect a value when reading a monitoring event (on
>> current hardware).
>
> How does that work when you exhaust the counters? Or it does switch between
> them quickly so that there's always *something* that counts?
On Intel the RMIDs are always counting. Please keep in mind that these RMID do not
actually return raw counts that are verbatim passed on to user space but instead
the returned value is "upscaled" using a hardware provided scaling factor to obtain the
value that is returned to user space. This is done on AMD (with and without ABMC)
and Intel.
Reinette
[1] https://lore.kernel.org/lkml/78996219-a8de-4dc3-90ee-db4c19e0d66a@amd.com/
next prev parent reply other threads:[~2026-08-01 23:47 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-17 21:13 [PATCH 1/2] x86/resctrl, Documentation: Keep mbm_assign_mode "default" on boot Babu Moger
2026-07-17 21:13 ` [PATCH 2/2] x86/resctrl: Fix ABMC counter programming for extended counter ranges Babu Moger
2026-07-17 22:56 ` [PATCH 1/2] x86/resctrl, Documentation: Keep mbm_assign_mode "default" on boot Reinette Chatre
2026-07-20 17:00 ` Babu Moger
2026-07-20 18:27 ` Reinette Chatre
2026-07-20 19:15 ` Babu Moger
2026-07-21 20:54 ` Reinette Chatre
2026-07-23 18:03 ` Babu Moger
2026-07-23 21:46 ` Reinette Chatre
2026-07-24 20:57 ` Moger, Babu
2026-07-24 22:28 ` Reinette Chatre
2026-07-24 23:12 ` Borislav Petkov
2026-07-24 23:53 ` Reinette Chatre
2026-07-27 14:05 ` Borislav Petkov
2026-07-27 15:25 ` Reinette Chatre
2026-07-27 17:24 ` Babu Moger
2026-07-27 18:12 ` Reinette Chatre
2026-07-27 20:17 ` Babu Moger
2026-07-27 21:42 ` Reinette Chatre
2026-07-27 22:44 ` Moger, Babu
2026-07-27 23:29 ` Moger, Babu
2026-07-28 0:29 ` Reinette Chatre
2026-07-28 17:04 ` Borislav Petkov
2026-07-28 17:25 ` Babu Moger
2026-07-20 20:12 ` Babu Moger
2026-07-28 19:18 ` Borislav Petkov
2026-07-28 19:46 ` Babu Moger
2026-07-28 19:58 ` Luck, Tony
2026-07-28 20:18 ` Babu Moger
2026-07-28 20:24 ` Luck, Tony
2026-07-28 20:43 ` Babu Moger
2026-07-28 21:58 ` Reinette Chatre
2026-07-28 22:20 ` Moger, Babu
2026-07-30 18:46 ` Borislav Petkov
2026-07-30 19:39 ` Babu Moger
2026-07-30 19:43 ` Borislav Petkov
2026-07-30 19:49 ` Babu Moger
2026-07-30 20:40 ` Luck, Tony
2026-07-30 20:59 ` Babu Moger
2026-07-31 0:34 ` Borislav Petkov
2026-07-31 14:59 ` Reinette Chatre
2026-08-01 1:22 ` Borislav Petkov
2026-08-01 23:47 ` Reinette Chatre [this message]
2026-08-04 19:16 ` Borislav Petkov
2026-08-04 22:10 ` Reinette Chatre
2026-08-04 22:47 ` Borislav Petkov
2026-08-04 23:05 ` Luck, Tony
2026-08-04 23:40 ` Borislav Petkov
2026-08-05 0:02 ` Luck, Tony
2026-08-05 0:21 ` Borislav Petkov
2026-08-04 23:35 ` Reinette Chatre
2026-08-05 0:12 ` Reinette Chatre
2026-08-05 22:40 ` Moger, Babu
2026-08-04 23:44 ` Moger, Babu
2026-08-05 5:03 ` Reinette Chatre
2026-07-31 15:34 ` Luck, Tony
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=5f10ceab-5569-409b-8e78-c4a4f232489f@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=bmoger@amd.com \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=eranian@google.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peternewman@google.com \
--cc=skhan@linuxfoundation.org \
--cc=tglx@kernel.org \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/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