All of lore.kernel.org
 help / color / mirror / Atom feed
From: Drew Fustini <fustini@kernel.org>
To: Ben Horgan <ben.horgan@arm.com>
Cc: Reinette Chatre <reinette.chatre@intel.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>, Fenghua Yu <fenghuay@nvidia.com>,
	Chen Yu <yu.c.chen@intel.com>, 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: Thu, 4 Jun 2026 10:38:10 -0700	[thread overview]
Message-ID: <aiG4AtZhoermdxyr@gen8> (raw)
In-Reply-To: <2cc4d5c3-22b6-4701-b5bc-90ce4179a9c2@arm.com>

On Thu, Jun 04, 2026 at 12:24:57PM +0100, Ben Horgan wrote:
> > The facility for non-percentage value is import for RISC-V as CBQRI does
> > not include percentage throttle. It has two controls for bandwidth:
> > 
> >    - Rbwb: number of reserved bandwidth blocks [1, 2^13]
> >    - Mweight: weighted share of the remaining bandwidth [0, 255]
> >      - 0: disables work-conserving sharing
> >      - 1..255: compete for the leftover pool
> >      - It makes for it to default to max (255) so that there won't be
> >        any unused bandwidth
> > 
> > I think Mweight could be aligned with MPAM's proportional stride.
> 
> Yes, I hope so. There a few differences which would have to be considered.
> 
> MPAM doesn't have a concept of only applying the weights once reserved min
> bandwidth is consumed. The interaction with min bandwidth is currently
> unspecified. I don't think there are any designs where proportional bandwidth
> and min b/w are on the same component and so it's only a theoretical/future problem.
> 
> For MPAM proportional stride, the higher the stride the lower the weight. We'll
> have to make sure that whatever user configuration scale we provide works well
> for both. If two PARTIDs have stride 2x and a third x then the 2 PARTIDS with
> stride 2x together get the same bandidth as the third. Whereas, to get the same
> in RISC-V the two partid would have weight y and the third 2y.

Thanks for explaining. I had been thinking it would be best to try to
share a control for stride and weight, but now I am wondering if those
should just be considered separate controls. 

It seems like they are similar enough to be able to convert to a common
scale but maybe that would be too confusing for the user. I guess it is
a matter of how much userspace needs or wants to be aware of the
difference between systems with MPAM and CBQRI.

Alternatively, it just occurred to me that Mweight could be mapped to MB.
I think Mweight could be thought of in the context of throttling: all
groups start with the max of 255 which can be represented as 100%.

> It's not specified for MPAM exactly what happens when you disable proportional
> stride for a given PARTID.
> 
> The MPAM proportional control is work-conserving (the table in B.b RWKZBJ has
> been confirmed as a spec mistake) and only corresponds to the current contenders
> for bandwidth. From my reading of the CBQRI spec this is the same for RISC-V.

Yes, I think they are the same. The only exception is that Mweight of 0
means no shared badwidth and that the group is restricted to just its
reserved bandwidth blocks (e.g. MB_MIN).

Thanks,
Drew

  reply	other threads:[~2026-06-04 17:38 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-29 18:06 [RFC] mpam,x86,fs/resctrl: Generic schema description Proof of Concept 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 [this message]
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-03 18:46 ` Luck, Tony
2026-06-04 10:02   ` Ben Horgan
2026-06-04 21:42   ` Reinette Chatre
2026-06-03 22:14 ` Drew Fustini
2026-06-04 21:47   ` Reinette Chatre
2026-06-05 19:48     ` Drew Fustini

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=aiG4AtZhoermdxyr@gen8 \
    --to=fustini@kernel.org \
    --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=james.morse@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peternewman@google.com \
    --cc=reinette.chatre@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.