From: Tony Luck <tony.luck@intel.com>
To: Fenghua Yu <fenghua.yu@intel.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>,
Peter Newman <peternewman@google.com>,
James Morse <james.morse@arm.com>,
Babu Moger <babu.moger@amd.com>,
Drew Fustini <dfustini@baylibre.com>,
Dave Martin <Dave.Martin@arm.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
patches@lists.linux.dev, Tony Luck <tony.luck@intel.com>
Subject: [PATCH v22 00/18] Add support for Sub-NUMA cluster (SNC) systems
Date: Thu, 27 Jun 2024 13:38:38 -0700 [thread overview]
Message-ID: <20240627203856.66628-1-tony.luck@intel.com> (raw)
This series based on top of tip x86/cache commit f385f0246394
("x86/resctrl: Replace open coded cacheinfo searches")
The Sub-NUMA cluster feature on some Intel processors partitions the CPUs
that share an L3 cache into two or more sets. This plays havoc with the
Resource Director Technology (RDT) monitoring features. Prior to this
patch Intel has advised that SNC and RDT are incompatible.
Some of these CPUs support an MSR that can partition the RMID counters
in the same way. This allows monitoring features to be used. Legacy
monitoring files provide the sum of counters from each SNC node for
backwards compatibility. Additional files per SNC node provide details
per node.
Memory bandwidth allocation features continue to operate at
the scope of the L3 cache.
L3 cache occupancy and allocation operate on the portion of
L3 cache available for each SNC node.
Signed-off-by: Tony Luck <tony.luck@intel.com>
---
Changes since v21: https://lore.kernel.org/all/20240621223859.43471-1-tony.luck@intel.com/
1-6 No change
7-8 Added Reinette reviewed-by tag
9 s/contains the sum/includes the sum/ in struct rmid_read kerneldoc
Add initializer = {0} to all on-stack declarations of struct
rmid_read (Reinette comment against patch 14, but applied here
when new field added that causes the ambguity about which fields
will be consumed). Drop redundant assignmnets of 0/NULL/false
to members of the structure.
10 Trivial refactor casued by addition of "= {0}" in part 9.
11 No change
12 Added Reinette reviewed-by tag
13 Replaced comment referencing SNC mode with more generic text
suggested by Reinette.
Added Reinette reviewed-by tag.
14 s/across all SNC domains/across all SNC domains/ in comment
in rdtgroup_mondata_show()
Dropped "rr.ci = NULL;". Not needed as struct is cleared by compiler.
15 Fix comment on return value from __mon_event_count()
16 Added Reinette reviewed-by tag
17-18 No change
Tony Luck (18):
x86/resctrl: Prepare for new domain scope
x86/resctrl: Prepare to split rdt_domain structure
x86/resctrl: Prepare for different scope for control/monitor
operations
x86/resctrl: Split the rdt_domain and rdt_hw_domain structures
x86/resctrl: Add node-scope to the options for feature scope
x86/resctrl: Introduce snc_nodes_per_l3_cache
x86/resctrl: Block use of mba_MBps mount option on Sub-NUMA Cluster
(SNC) systems
x86/resctrl: Prepare for new Sub-NUMA Cluster (SNC) monitor files
x86/resctrl: Add a new field to struct rmid_read for summation of
domains
x86/resctrl: Refactor mkdir_mondata_subdir() with a helper function
x86/resctrl: Allocate a new field in union mon_data_bits
x86/resctrl: Create Sub-NUMA Cluster (SNC) monitor files
x86/resctrl: Handle removing directories in Sub-NUMA Cluster (SNC)
mode
x86/resctrl: Fill out rmid_read structure for smp_call*() to read a
counter
x86/resctrl: Make __mon_event_count() handle sum domains
x86/resctrl: Enable shared RMID mode on Sub-NUMA Cluster (SNC) systems
x86/resctrl: Sub-NUMA Cluster (SNC) detection
x86/resctrl: Update documentation with Sub-NUMA cluster changes
Documentation/arch/x86/resctrl.rst | 27 ++
include/linux/resctrl.h | 88 ++++--
arch/x86/include/asm/msr-index.h | 1 +
arch/x86/kernel/cpu/resctrl/internal.h | 108 +++++---
arch/x86/kernel/cpu/resctrl/core.c | 312 ++++++++++++++++------
arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 89 +++---
arch/x86/kernel/cpu/resctrl/monitor.c | 256 +++++++++++++++---
arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 27 +-
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 281 ++++++++++++-------
9 files changed, 865 insertions(+), 324 deletions(-)
base-commit: f385f024639431bec3e70c33cdbc9563894b3ee5
--
2.45.2
next reply other threads:[~2024-06-27 20:39 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 20:38 Tony Luck [this message]
2024-06-27 20:38 ` [PATCH v22 01/18] x86/resctrl: Prepare for new domain scope Tony Luck
2024-06-27 20:38 ` [PATCH v22 02/18] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2024-06-27 20:38 ` [PATCH v22 03/18] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2024-06-27 20:38 ` [PATCH v22 04/18] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2024-06-27 20:38 ` [PATCH v22 05/18] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2024-06-27 20:38 ` [PATCH v22 06/18] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2024-06-27 20:38 ` [PATCH v22 07/18] x86/resctrl: Block use of mba_MBps mount option on Sub-NUMA Cluster (SNC) systems Tony Luck
2024-06-27 20:38 ` [PATCH v22 08/18] x86/resctrl: Prepare for new Sub-NUMA Cluster (SNC) monitor files Tony Luck
2024-06-27 20:38 ` [PATCH v22 09/18] x86/resctrl: Add a new field to struct rmid_read for summation of domains Tony Luck
2024-06-28 20:54 ` Reinette Chatre
2024-06-28 21:35 ` Luck, Tony
2024-06-28 21:51 ` Reinette Chatre
2024-06-27 20:38 ` [PATCH v22 10/18] x86/resctrl: Refactor mkdir_mondata_subdir() with a helper function Tony Luck
2024-06-27 20:38 ` [PATCH v22 11/18] x86/resctrl: Allocate a new field in union mon_data_bits Tony Luck
2024-06-27 20:38 ` [PATCH v22 12/18] x86/resctrl: Create Sub-NUMA Cluster (SNC) monitor files Tony Luck
2024-06-27 20:38 ` [PATCH v22 13/18] x86/resctrl: Handle removing directories in Sub-NUMA Cluster (SNC) mode Tony Luck
2024-06-27 20:38 ` [PATCH v22 14/18] x86/resctrl: Fill out rmid_read structure for smp_call*() to read a counter Tony Luck
2024-06-28 20:54 ` Reinette Chatre
2024-06-27 20:38 ` [PATCH v22 15/18] x86/resctrl: Make __mon_event_count() handle sum domains Tony Luck
2024-06-28 20:56 ` Reinette Chatre
2024-06-27 20:38 ` [PATCH v22 16/18] x86/resctrl: Enable shared RMID mode on Sub-NUMA Cluster (SNC) systems Tony Luck
2024-06-27 20:38 ` [PATCH v22 17/18] x86/resctrl: Sub-NUMA Cluster (SNC) detection Tony Luck
2024-06-27 20:38 ` [PATCH v22 18/18] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
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=20240627203856.66628-1-tony.luck@intel.com \
--to=tony.luck@intel.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=dfustini@baylibre.com \
--cc=fenghua.yu@intel.com \
--cc=james.morse@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.wieczor-retman@intel.com \
--cc=patches@lists.linux.dev \
--cc=peternewman@google.com \
--cc=reinette.chatre@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