All of lore.kernel.org
 help / color / mirror / Atom feed
From: Drew Fustini <fustini@kernel.org>
To: Reinette Chatre <reinette.chatre@intel.com>
Cc: Tony Luck <tony.luck@intel.com>, Ben Horgan <ben.horgan@arm.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: Wed, 3 Jun 2026 15:14:09 -0700	[thread overview]
Message-ID: <aiCnMf07DISxTxUn@gen8> (raw)
In-Reply-To: <aab804b9-e8b5-40ad-a85b-af7033391243@intel.com>

On Fri, May 29, 2026 at 11:06:07AM -0700, Reinette Chatre wrote:
> /**
>  * struct resctrl_ctrl - A resource control
>  * @entry:	List entry of rdt_resource::controls
>  * @scope:	Scope of the resource that this control allocates
>  * @domains:	RCU list of all control domains
>  * @type:	The control type that determines the properties of the control,
>  *		format string for displaying control values to user space, and
>  *		parser of control values provided by user space.
>  * @name:	Name of the control. Appended to final resource name
>  *		(rdt_resource_final::name) to create final schema entry.
>  *		Specifically, "rdt_resource_final::name"_"resctrl_ctrl::name".
>  *		For example, with resource name "MB" and control name "MAX" the
>  *		schema entry will be "MB_MAX".
>  * @cache:	Cache allocation control properties.
>  * @membw:	Bandwidth control properties.
>  */
> struct resctrl_ctrl {
> 	struct list_head	entry;
> 	enum resctrl_scope	scope;
> 	struct list_head	domains;
> 	enum resctrl_ctrl_type	type;
> 	enum resctrl_ctrl_name	name;
> 	union {
> 		struct resctrl_cache	cache;
> 		struct resctrl_membw	membw;
> 	};
> };
> 
> Two members summarize how this new structure fits into the rest of resctrl:
> a) resctrl_ctrl::entry 
>    Since a resource can support multiple controls there is a new list
>    in struct rdt_resource named "controls" that contains the list of all
>    controls supported by the resource.
> b) resctrl_ctrl::domains
>    Instead of the list of control domains belonging to a resource they
>    now belong to the control self. By doing so resctrl can support resource
>    controls at different scope for the same resource. This is intended to
>    support some upcoming MPAM and RISC-V usages.

The ability to change scope is much needed for RISC-V. There are
compromises in my RFC [1] as a result of trying to map everything to
either L2 or L3 scope.

I would also like to see a non-cpu cache scope for monitoring too, but
would that be better discussed outside the context of this proof of
concept?

Thanks,
Drew

[1] https://lore.kernel.org/all/20260601-ssqosid-cbqri-rqsc-v7-0-v6-0-baf00f50028a@kernel.org/

  parent reply	other threads:[~2026-06-03 22:14 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
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 [this message]
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=aiCnMf07DISxTxUn@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.