public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v21 00/18] Add support for Sub-NUMA cluster (SNC) systems
@ 2024-06-21 22:38 Tony Luck
  2024-06-21 22:38 ` [PATCH v21 01/18] x86/resctrl: Prepare for new domain scope Tony Luck
                   ` (17 more replies)
  0 siblings, 18 replies; 32+ messages in thread
From: Tony Luck @ 2024-06-21 22:38 UTC (permalink / raw)
  To: Fenghua Yu, Reinette Chatre, Maciej Wieczor-Retman, Peter Newman,
	James Morse, Babu Moger, Drew Fustini, Dave Martin
  Cc: x86, linux-kernel, patches, Tony Luck

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 v20: https://lore.kernel.org/all/20240610183528.349198-1-tony.luck@intel.com/

1	Add Reinette review tag
2	Add Reinette review tag
3	Add Reinette review tag
4	Add Reinette review tag
5	Add Reinette review tag
6	Remove extra space in "snc_nodes_per_l3_cache  == 1" (comment and code)
	Add Reinette review tag
7	Updated comment above supports_mba_mbps() with new condtion.
	Add invalfc() to give user better error message
8	Move #include <linux/cacheinfo.h> from internal.h to <linux/resctrl.h>
9	Replace kerneldoc comment for struct rmid_read with Reinette's version
10	Add Reinette review tag
11	Fix kerneldoc issues for mon_data_bits
		End all entries with period.
		s/@rid/@u.rid/ ditto for all other union members
	Add Reinette review tag
12	Change test for snc_mode to use "== RESCTRL_L3_NODE"
	Use snc_mode to pick d->ci->id vs. d->hdr.id
13	Change test for snc_mode to use "== RESCTRL_L3_NODE"
	Use snc_mode to pick d->ci->id vs. d->hdr.id
	Move/reword SNC comment to top of function
	Drop double space from commit comment
	Drop "also" from commit comment
14	Initialize rr.ci in mbm_update()
	Split long line in rdtgroup_mondata_show()
15	Add period to end sentences in two comments.
	Fix the "sum" case in __mon_event_count() to return
	success if reading from any domains succeeds.
16	Update comment for arch_mon_domain_online() to say
	that it is enabling RMID shaing mode.
	s/Enable RMID shared RMID mode/Enable shared RMID mode/
	s/This isn't very compatible/This isn't compatible/
	s/Tehcnically/Technically/
17	s/number CPUs sharing/number of CPUs sharing/
	Add Reinette review tag
18	s/each bit would only represent 5MB/each bit only represents 5MB/
	s/mainatined/maintained/
	Add Reinette review tag

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 |  86 +++---
 arch/x86/kernel/cpu/resctrl/monitor.c     | 253 +++++++++++++++---
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c |  27 +-
 arch/x86/kernel/cpu/resctrl/rdtgroup.c    | 278 ++++++++++++-------
 9 files changed, 861 insertions(+), 319 deletions(-)


base-commit: f385f024639431bec3e70c33cdbc9563894b3ee5
-- 
2.45.2


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2024-06-27 17:52 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-21 22:38 [PATCH v21 00/18] Add support for Sub-NUMA cluster (SNC) systems Tony Luck
2024-06-21 22:38 ` [PATCH v21 01/18] x86/resctrl: Prepare for new domain scope Tony Luck
2024-06-21 22:38 ` [PATCH v21 02/18] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2024-06-21 22:38 ` [PATCH v21 03/18] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2024-06-21 22:38 ` [PATCH v21 04/18] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2024-06-21 22:38 ` [PATCH v21 05/18] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2024-06-21 22:38 ` [PATCH v21 06/18] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2024-06-21 22:38 ` [PATCH v21 07/18] x86/resctrl: Block use of mba_MBps mount option on Sub-NUMA Cluster (SNC) systems Tony Luck
2024-06-25 23:28   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 08/18] x86/resctrl: Prepare for new Sub-NUMA Cluster (SNC) monitor files Tony Luck
2024-06-25 23:28   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 09/18] x86/resctrl: Add a new field to struct rmid_read for summation of domains Tony Luck
2024-06-25 23:29   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 10/18] x86/resctrl: Refactor mkdir_mondata_subdir() with a helper function Tony Luck
2024-06-21 22:38 ` [PATCH v21 11/18] x86/resctrl: Allocate a new field in union mon_data_bits Tony Luck
2024-06-25 23:29   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 12/18] x86/resctrl: Create Sub-NUMA Cluster (SNC) monitor files Tony Luck
2024-06-25 23:30   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 13/18] x86/resctrl: Handle removing directories in Sub-NUMA Cluster (SNC) mode Tony Luck
2024-06-25 23:31   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 14/18] x86/resctrl: Fill out rmid_read structure for smp_call*() to read a counter Tony Luck
2024-06-25 23:33   ` Reinette Chatre
2024-06-26 19:35     ` Tony Luck
2024-06-26 21:23       ` Reinette Chatre
2024-06-27 17:31         ` Luck, Tony
2024-06-27 17:52           ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 15/18] x86/resctrl: Make __mon_event_count() handle sum domains Tony Luck
2024-06-25 23:35   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 16/18] x86/resctrl: Enable shared RMID mode on Sub-NUMA Cluster (SNC) systems Tony Luck
2024-06-25 23:35   ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 17/18] x86/resctrl: Sub-NUMA Cluster (SNC) detection Tony Luck
2024-06-21 22:38 ` [PATCH v21 18/18] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox