From: Reinette Chatre <reinette.chatre@intel.com>
To: Ben Horgan <ben.horgan@arm.com>, Tony Luck <tony.luck@intel.com>,
"James Morse" <james.morse@arm.com>,
Dave Martin <Dave.Martin@arm.com>,
Babu Moger <babu.moger@amd.com>,
Drew Fustini <fustini@kernel.org>,
Fenghua Yu <fenghuay@nvidia.com>, Chen Yu <yu.c.chen@intel.com>
Cc: Borislav Petkov <bp@alien8.de>,
Thomas Gleixner <tglx@linutronix.de>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
Peter Newman <peternewman@google.com>,
"x86@kernel.org" <x86@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] mpam,x86,fs/resctrl: Generic schema description Proof of Concept
Date: Tue, 9 Jun 2026 10:41:07 -0700 [thread overview]
Message-ID: <f5982635-1026-4e63-936e-75cde5ac8a1d@intel.com> (raw)
In-Reply-To: <deca095a-49ba-444b-805b-18a7c50a9287@arm.com>
Hi Ben,
On 6/9/26 9:37 AM, Ben Horgan wrote:
> On 6/9/26 16:28, Reinette Chatre wrote:
>> On 6/9/26 3:10 AM, Ben Horgan wrote:
>>> On 6/8/26 17:16, Reinette Chatre wrote:
>>> I don't see the advantage of emulating MB with both MIN and MAX. Just going by
>>> the MPAM specification, a system keeping MIN at 0 and just setting MAX from MB,
>>> (MIN=0, MAX=MB) should behave the same as one always setting both, (MIN=MB,
>>> MAX=MB). In the MIN=0 case there is never any high preference traffic and in the
>>> MIN=MAX_MB case there is never any medium preference traffic. It seemed best to
>>> not rely on any platform specific heuristics to try and guess what's better and
>>> just wait til the time we could support MB_MIN in resctrl (and leave the
>>> decision up to the user). My expectation was that this would be the simplest
>>> course of action.
>>
>> This sounds fair. Two observations:
>> - The hierarchy exposed by resctrl may be different on systems that have the "same"
>> controls.
>> For example, on an MPAM system (if I understand correctly) the user may see:
>> info/
>> └── MB/
>> └── resource_schemata/
>> ├── MB/
>> │ └── MB_MAX/
>> └── MB_MIN/
>
> Yes, this matches my understanding.
>
>>
>> Compared with a possible implementation on Intel that looks like:
>> info/
>> └── MB/
>> └── resource_schemata/
>> ├── MB/
>> │ └── MB_OPT/
>> ├── MB_MAX/
>> └── MB_MIN/
>
> Not sure if my understanding is correct here...
> In the kernel today is it rdt max that backs MB? (Ignoring the sw controller)
resctrl does not have support for the RDT "MAX" controller yet. Since resctrl was
created as part of enabling RDT the resctrl MB control maps exactly to RDT's
original percentage based memory delay value that is an approximate. Newer hardware
support three controls: optimal, minimum, and maximum. These controls have finer
granularity than what the default percentage based control supports so emulation
is needed.
So far I assumed that on these systems the default MB control would be emulated
by the new "optimal" control but after these exchanges I can see there being an
argument for it to be emulated by the new "maximum" control also. Apart from it
implying a cap there is also the idea that the "maximum" control is more likely to
be available on all platforms.
> If so wouldn't the meaning of MB change within the same platform on a kernel
> upgrade once the rdt optimal support is added?
Good point. Thank you for bringing this up. While the existing RDT MB control is
approximate the RDT spec does contain the statement "... should be viewed as a
maximum bandwidth “cap” per-CLOS." which is quite clear. I'll follow up with
RDT folks on this.
...
>>> We can work that. For MPAM it's writing all 1s to the register which for the
>>> minumum case represents ((2**mbw_min_wd)/2**mbw_min_wd)) * 100 %
>>>
>>> Just emulating MB with MAX control
>>>> does not seem to eliminate this problem since between the fs and arch resctrl still needs
>>>> to ensure that when user space writes a control value to the MIN control that it is valid
>>>> for the underlying MPAM system.
>>>>
>>>> It almost sounds as though there is an attempt to eliminate resctrl's usage of a "max"
>>>> value for the MIN control since that is effectively unknown to MPAM but that does
>>>> not look possible to me?
>>>
>>> Sorry but I haven't understood what your saying. What does "resctrl's usage of a
>>> "max" value for MIN control" mean?
>>
>> Basically it is resctrl fs's validation of user input. Specifically, in bw_validate() where
>> the fs does this range check:
>> if (bw < r->membw.min_bw || bw > r->membw.max_bw)
>>
>> resctrl fs thus uses the "max" value of a control for user input checking and it seemed to
>> me that it may be difficult for MPAM to lean that "max" from all systems but it sounds as
>> though the plan is instead to use the max that the architecture supports?
>
> Yes, can just size the max based on the number of configuration bits in the h/w.
Ack. Thank you for the clarification.
Reinette
next prev parent reply other threads:[~2026-06-09 17:41 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-29 18:06 Reinette Chatre
2026-06-02 20:23 ` Babu Moger
2026-06-02 22:56 ` Reinette Chatre
2026-06-03 1:14 ` Moger, Babu
2026-06-03 3:55 ` Reinette Chatre
2026-06-03 14:40 ` Babu Moger
2026-06-02 23:32 ` Chen, Yu C
2026-06-03 3:45 ` Reinette Chatre
2026-06-03 11:53 ` Chen, Yu C
2026-06-04 16:37 ` Reinette Chatre
2026-06-05 15:43 ` Chen, Yu C
2026-06-05 16:20 ` Reinette Chatre
2026-06-03 15:15 ` Ben Horgan
2026-06-03 19:34 ` Drew Fustini
2026-06-04 11:24 ` Ben Horgan
2026-06-04 17:38 ` Drew Fustini
2026-06-12 1:30 ` Shaopeng Tan (Fujitsu)
2026-06-17 15:29 ` Reinette Chatre
2026-06-19 1:42 ` Shaopeng Tan (Fujitsu)
2026-06-22 16:10 ` Reinette Chatre
2026-06-23 5:04 ` Shaopeng Tan (Fujitsu)
2026-06-04 21:05 ` Reinette Chatre
2026-06-05 19:35 ` Drew Fustini
2026-06-06 5:10 ` Drew Fustini
2026-06-06 5:23 ` Drew Fustini
2026-06-04 17:43 ` Reinette Chatre
2026-06-05 14:53 ` Ben Horgan
2026-06-05 15:39 ` Reinette Chatre
2026-06-05 16:37 ` Ben Horgan
2026-06-08 16:16 ` Reinette Chatre
2026-06-09 10:10 ` Ben Horgan
2026-06-09 15:28 ` Reinette Chatre
2026-06-09 16:37 ` Ben Horgan
2026-06-09 17:41 ` Reinette Chatre [this message]
2026-06-10 7:09 ` Chen, Yu C
2026-06-10 14:27 ` Chen, Yu C
2026-06-10 16:13 ` Reinette Chatre
2026-06-10 17:57 ` Chen, Yu C
2026-06-10 18:10 ` Reinette Chatre
2026-06-10 15:59 ` Reinette Chatre
2026-06-10 18:05 ` Chen, Yu C
2026-06-11 3:26 ` Chen, Yu C
2026-06-11 15:45 ` Reinette Chatre
2026-06-26 15:46 ` Chen, Yu C
2026-07-02 14:27 ` Ben Horgan
2026-07-03 9:01 ` Chen, Yu C
2026-07-14 21:37 ` Reinette Chatre
2026-07-15 2:49 ` Chen, Yu C
2026-06-10 4:31 ` Drew Fustini
2026-06-10 15:14 ` Reinette Chatre
2026-06-03 18:46 ` Luck, Tony
2026-06-04 10:02 ` Ben Horgan
2026-06-04 21:42 ` Reinette Chatre
2026-07-08 12:56 ` Chen, Yu C
2026-07-14 21:39 ` Reinette Chatre
2026-06-03 22:14 ` Drew Fustini
2026-06-04 21:47 ` Reinette Chatre
2026-06-05 19:48 ` Drew Fustini
2026-06-15 21:05 ` Moger, Babu
2026-06-17 17:18 ` Reinette Chatre
2026-06-17 20:29 ` Babu Moger
2026-06-24 19:08 ` Fenghua Yu
2026-06-24 22:22 ` Reinette Chatre
2026-06-25 1:26 ` Fenghua Yu
2026-06-25 15:43 ` Reinette Chatre
2026-07-10 20:59 ` Fenghua Yu
2026-07-14 22:06 ` Reinette Chatre
2026-07-15 8:34 ` Ben Horgan
2026-07-15 15:41 ` Reinette Chatre
2026-07-16 14:59 ` Ben Horgan
2026-07-16 16:02 ` Luck, Tony
2026-07-16 16:22 ` Ben Horgan
2026-07-16 17:50 ` Reinette Chatre
2026-07-17 10:27 ` Ben Horgan
2026-07-16 16:04 ` Reinette Chatre
2026-07-16 16:44 ` Ben Horgan
2026-07-16 17:07 ` Reinette Chatre
2026-07-17 12:20 ` Ben Horgan
2026-07-17 16:00 ` Reinette Chatre
2026-07-17 16:02 ` Chen, Yu C
2026-07-17 16:55 ` Reinette Chatre
2026-07-02 13:37 ` Ben Horgan
2026-07-02 15:16 ` Fenghua Yu
2026-07-03 13:42 ` Ben Horgan
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=f5982635-1026-4e63-936e-75cde5ac8a1d@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=ben.horgan@arm.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=fenghuay@nvidia.com \
--cc=fustini@kernel.org \
--cc=james.morse@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peternewman@google.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=yu.c.chen@intel.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