From: Tony Luck <tony.luck@intel.com>
To: Fenghua Yu <fenghua.yu@intel.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Peter Newman <peternewman@google.com>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
x86@kernel.org
Cc: Shaopeng Tan <tan.shaopeng@fujitsu.com>,
James Morse <james.morse@arm.com>,
Jamie Iles <quic_jiles@quicinc.com>,
Babu Moger <babu.moger@amd.com>,
Randy Dunlap <rdunlap@infradead.org>,
Drew Fustini <dfustini@baylibre.com>,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
patches@lists.linux.dev, Tony Luck <tony.luck@intel.com>
Subject: [PATCH v15 0/8] Add support for Sub-NUMA cluster (SNC) systems
Date: Wed, 28 Feb 2024 11:36:55 -0800 [thread overview]
Message-ID: <20240228112935.8087-tony.luck@intel.com> (raw)
In-Reply-To: <20240228112215.8044-tony.luck@intel.com>
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 CPU support an MSR that can partition the RMID counters in
the same way. This allows monitoring features to be used. With the caveat
that users must be aware that Linux may migrate tasks more frequently
between SNC nodes than between "regular" NUMA nodes, so reading counters
from all SNC nodes may be needed to get a complete picture of activity
for tasks.
Cache and memory bandwidth allocation features continue to operate at
the scope of the L3 cache.
Signed-off-by: Tony Luck <tony.luck@intel.com>
---
Changes since v14: https://lore.kernel.org/all/20240126223837.21835-1-tony.luck@intel.com/
1) Rebase to TIP x86/cache + my 2-patch cleanup
2) Dropped all Reviewed/Tested tags (enough changed in TIP that this
needs looking at, and testing, again).
3) Added ATOM_CRESTMONT_X (Sierra Forest) to list of SNC supporting CPUs.
4) Added a console "INFO" message when SNC detected:
pr_info("Sub-NUMA cluster detected with %d nodes per L3 cache\n", ret);
Note that my alternate approach posted as v15-RFC
https://lore.kernel.org/all/20240130222034.37181-1-tony.luck@intel.com/
has been abandoned. I'd still like to explore splitting the L3
rdt_resource into separate control/monitor elements, but that
can wait for another series of patches.
Tony Luck (8):
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: Sub NUMA Cluster detection and enable
x86/resctrl: Update documentation with Sub-NUMA cluster changes
Documentation/arch/x86/resctrl.rst | 25 +-
include/linux/resctrl.h | 85 +++--
arch/x86/include/asm/msr-index.h | 1 +
arch/x86/kernel/cpu/resctrl/internal.h | 67 ++--
arch/x86/kernel/cpu/resctrl/core.c | 428 ++++++++++++++++++----
arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 56 +--
arch/x86/kernel/cpu/resctrl/monitor.c | 70 ++--
arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 26 +-
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 156 ++++----
9 files changed, 642 insertions(+), 272 deletions(-)
--
2.43.0
next prev parent reply other threads:[~2024-02-28 19:37 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-28 19:36 Cover-cover letter for two resctrl patch sets Tony Luck
2024-02-28 19:36 ` [PATCH v4 0/2] x86/resctrl: Pass domain to target CPU Tony Luck
2024-02-28 19:36 ` [PATCH v4 1/2] " Tony Luck
2024-03-04 23:07 ` Reinette Chatre
2024-03-05 0:17 ` Luck, Tony
2024-03-05 1:31 ` Reinette Chatre
2024-03-05 16:37 ` Luck, Tony
2024-03-05 16:48 ` Reinette Chatre
2024-03-08 18:26 ` James Morse
2024-03-08 18:50 ` Luck, Tony
2024-02-28 19:36 ` [PATCH v4 2/2] x86/resctrl: Simplify call convention for MSR update functions Tony Luck
2024-03-04 23:07 ` Reinette Chatre
2024-02-28 19:36 ` Tony Luck [this message]
2024-02-28 19:36 ` [PATCH v15 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2024-02-28 19:36 ` [PATCH v15 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2024-02-28 19:36 ` [PATCH v15 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2024-02-28 19:36 ` [PATCH v15 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2024-02-28 19:37 ` [PATCH v15 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2024-02-28 19:37 ` [PATCH v15 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2024-02-28 19:37 ` [PATCH v15 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2024-02-28 19:37 ` [PATCH v15 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2024-03-04 23:07 ` Cover-cover letter for two resctrl patch sets Reinette Chatre
2024-03-05 22:02 ` Konstantin Ryabitsev
2024-03-05 22:27 ` Luck, Tony
2024-03-06 3:11 ` Konstantin Ryabitsev
2024-03-05 7:28 ` Maciej Wieczor-Retman
2024-03-05 17:51 ` Luck, Tony
2024-03-06 7:22 ` Maciej Wieczor-Retman
2024-03-06 7:28 ` Maciej Wieczor-Retman
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=20240228112935.8087-tony.luck@intel.com \
--to=tony.luck@intel.com \
--cc=babu.moger@amd.com \
--cc=corbet@lwn.net \
--cc=dfustini@baylibre.com \
--cc=fenghua.yu@intel.com \
--cc=james.morse@arm.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=peternewman@google.com \
--cc=quic_jiles@quicinc.com \
--cc=rdunlap@infradead.org \
--cc=reinette.chatre@intel.com \
--cc=skhan@linuxfoundation.org \
--cc=tan.shaopeng@fujitsu.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