public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Chen, Yu C" <yu.c.chen@intel.com>
To: Dave Martin <Dave.Martin@arm.com>
Cc: Reinette Chatre <reinette.chatre@intel.com>,
	Babu Moger <babu.moger@amd.com>, Fenghua Yu <fenghuay@nvidia.com>,
	Tony Luck <tony.luck@intel.com>,
	James Morse <james.morse@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Jonathan Corbet <corbet@lwn.net>, <x86@kernel.org>,
	<linux-kernel@vger.kernel.org>, <fustini@kernel.org>
Subject: Re: [RFC] fs/resctrl: Generic schema description
Date: Sat, 10 Jan 2026 00:09:19 +0800	[thread overview]
Message-ID: <8255113f-082a-421b-a8ac-dc93a7b64e10@intel.com> (raw)
In-Reply-To: <aV6Ba/hboKcJjyhY@e133380.arm.com>

Hi Dave,

On 1/7/2026 11:53 PM, Dave Martin wrote:
> Hi,
> 
> On Fri, Dec 26, 2025 at 06:38:52PM +0800, Chen, Yu C wrote:

[snip]

> 
>>>           │   ├── tolerance
>>>           │   ├── type
>>>           │   └── unit
>>>           └── SMBA_NODE
>>>               ├── max
>>>               ├── min
>>>               ├── resolution
>>>               ├── scale
>>>               ├── scope <== contains "NODE"
>>
>> Would it be more user-friendly to explicitly show "node0, node1, ..."
>> rather than "NODE"? After all, we can already infer the "NODE" type from
>> the schemata name "SMBA_NODE".
> 
> I think that having an explicit declaration of the scope is probably
> useful even for things that are included in the schema name.
> 
> Part of the reason for describing the schema explicitly is because
> inferring everything from the name does not feel scalable as we add
> more different schemata and resource types.
> 

OK, this makes sense.

> Having said that, the schema names should still provide a good clue as
> to what the schema represents.
> 
> 
> I'm not sure that we should simply list possible domain IDs here:
> 
> For MPAM, the domain IDs can be huge, random-looking numbers that do
> not necessarily start from 0 (as currently implemented in the MPAM
> driver).
> 
> In any case, we need not just names for the individual domain IDs, but
> an idea of what they represent.
> 
> 
> Maybe we could stick with opaque "scope" names as in Reinette's
> proposal, and solve the problem of enumating the domain IDs separately.
> 
> 
> For the commonly-used scopes, we probably don't need to bother, since
> the enumeration is available elsewhere:
> 
>   * for NUMA nodes and cache IDs, /sys/devices/system/node/node*
>     (or /sys/devices/system/node/possible) ?
> 
>   * for cache IDs at level <n>, the set of values present in all the
>     files /sys/devices/system/cpu/cpu*/cache/index<n>/id ?
> 

Previously, the node list display was proposed mainly to build a
connection between regions and nodes. If we know the node ID, we can
check the detailed information of that node via sysfs (such as
/sys/devices/system/node/node*).
But I agree that keeping the "scope" simple and displaying the
connection somewhere else is reasonable.

>>
>>> │   └── mbm_total_bytes
>>> └── mon_NODE_01     <== monitoring data at scope NODE
>>>       └── mbm_total_bytes
>>>
>>
>> Please let me take this chance to elaborate on region-aware RDT
>> in more detail. I am wondering if the interface could be further
>> extended to support this feature.
>>

[snip]

>> Users could query the exact definition of REGION1
>> by checking the info directory.
>>
>> info
>> └── MB
>>        └── resource_schemata
>>            ├── MB_REGION1_OPT
>>            │   ├── max
>>            │   ├── min
>>            │   ├── resolution
>>            │   ├── scale
>>            │   ├── scope <== "0=node2;1=node3" (node2 on S0, node3 on S1)
>>            │   ├── tolerance
>>            │   ├── type
>>            │   └── unit
>>
>>
> 
> Hmmm, that's interesting.
> 
> If there is a grouping on NUMA nodes, is that advertised anywhere in
> sysfs already?
> 
> Ideally, there would already be a definition of what "region 0" is in
> terms of the NUMA topology, and we could just refer to it.
> 

We have a sysfs interface exposed in /sys/firmware/acpi/memory_ranges/;
each entry represents a physical address range with local or remote region
IDs. I think we can build based on this interface.

thanks,
Chenyu

  reply	other threads:[~2026-01-09 16:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-24 11:12 [RFC] fs/resctrl: Generic schema description Dave Martin
2025-10-28 23:17 ` Reinette Chatre
2025-10-30 16:36   ` Dave Martin
2025-11-04 22:26     ` Reinette Chatre
2025-11-06 17:45       ` Reinette Chatre
2025-11-10 12:37 ` Ben Horgan
2025-12-16 22:26 ` Reinette Chatre
2025-12-26 10:38   ` Chen, Yu C
2026-01-07 15:53     ` Dave Martin
2026-01-09 16:09       ` Chen, Yu C [this message]
2026-01-24 18:09   ` 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=8255113f-082a-421b-a8ac-dc93a7b64e10@intel.com \
    --to=yu.c.chen@intel.com \
    --cc=Dave.Martin@arm.com \
    --cc=babu.moger@amd.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=fenghuay@nvidia.com \
    --cc=fustini@kernel.org \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=reinette.chatre@intel.com \
    --cc=tglx@linutronix.de \
    --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