linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Luck <tony.luck@intel.com>
To: Reinette Chatre <reinette.chatre@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>,
	Peter Newman <peternewman@google.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	x86@kernel.org, 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>,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	patches@lists.linux.dev
Subject: Re: [PATCH v4 5/7] x86/resctrl: Determine if Sub-NUMA Cluster is enabled and initialize.
Date: Fri, 25 Aug 2023 10:49:46 -0700	[thread overview]
Message-ID: <ZOjpugXNDVx/cGRl@agluck-desk3> (raw)
In-Reply-To: <7c8650d5-eb69-dd28-81fc-7a97d45f9bfb@intel.com>

On Fri, Aug 11, 2023 at 10:32:29AM -0700, Reinette Chatre wrote:
> Hi Tony,
> 
> On 7/22/2023 12:07 PM, Tony Luck wrote:
> > There isn't a simple hardware enumeration to indicate to software that
> > a system is running with Sub-NUMA Cluster enabled.
> > 
> > Compare the number of NUMA nodes with the number of L3 caches to calculate
> > the number of Sub-NUMA nodes per L3 cache.
> > 
> > When Sub-NUMA cluster mode is enabled in BIOS setup the RMID counters
> > are distributed equally between the SNC nodes within each socket.
> > 
> > E.g. if there are 400 RMID counters, and the system is configured with
> > two SNC nodes per socket, then RMID counter 0..199 are used on SNC node
> > 0 on the socket, and RMID counter 200..399 on SNC node 1.
> > 
> > A model specific MSR (0xca0) can change the configuration of the RMIDs
> > when SNC mode is enabled.
> > 
> > The MSR controls the interpretation of the RMID field in the
> > IA32_PQR_ASSOC MSR so that the appropriate hardware counters
> > within the SNC node are updated.
> > 
> > To read the RMID counters an offset must be used to get data
> > from the physical counter associated with the SNC node. As in
> > the example above with 400 RMID counters Linux sees only 200
> > counters. No special action is needed to read a counter from
> > the first SNC node on a socket. But to read a Linux visible
> > counter 50 on the second SNC node the kernel must load 250
> > into the QM_EVTSEL MSR.
> > 
> > N.B. this works well for well-behaved NUMA applications that access
> > memory predominantly from the local memory node. For applications that
> > access memory across multiple nodes it may be necessary for the user
> > to read counters for all SNC nodes on a socket and add the values to
> > get the actual LLC occupancy or memory bandwidth. Perhaps this isn't
> > all that different from applications that span across multiple sockets
> > in a legacy system.
> > 
> > The cache allocation feature still provides the same number of
> > bits in a mask to control allocation into the L3 cache. But each
> > of those ways has its capacity reduced because the cache is divided
> > between the SNC nodes. Adjust the value reported in the resctrl
> > "size" file accordingly.
> > 
> > Mounting the file system with the "mba_MBps" option is disabled
> > when SNC mode is enabled. This is because the measurement of bandwidth
> > is per SNC node, while the MBA throttling controls are still at
> > the L3 cache scope.
> > 
> 
> I'm counting four logical changes in this changelog. Can they be separate
> patches?

Split into three parts. I couln't quite see how to get to four.

> 
> > Signed-off-by: Tony Luck <tony.luck@intel.com>
> > ---
> >  include/linux/resctrl.h                |  2 +
> >  arch/x86/include/asm/msr-index.h       |  1 +
> >  arch/x86/kernel/cpu/resctrl/internal.h |  2 +
> >  arch/x86/kernel/cpu/resctrl/core.c     | 82 +++++++++++++++++++++++++-
> >  arch/x86/kernel/cpu/resctrl/monitor.c  | 18 +++++-
> >  arch/x86/kernel/cpu/resctrl/rdtgroup.c |  4 +-
> >  6 files changed, 103 insertions(+), 6 deletions(-)
> > 
> > diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> > index 80a89d171eba..576dc21bd990 100644
> > --- a/include/linux/resctrl.h
> > +++ b/include/linux/resctrl.h
> > @@ -200,6 +200,8 @@ struct rdt_resource {
> >  	bool			cdp_capable;
> >  };
> >  
> > +#define MON_SCOPE_NODE 100
> > +
> 
> Could you please add a comment to explain what this constant represents
> and how it is used?

This is gone in V6. It's become part of an "enum" for each of the scope
options.

> 
> >  /**
> >   * struct resctrl_schema - configuration abilities of a resource presented to
> >   *			   user-space
> > diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
> > index 3aedae61af4f..4b624a37d64a 100644
> > --- a/arch/x86/include/asm/msr-index.h
> > +++ b/arch/x86/include/asm/msr-index.h
> > @@ -1087,6 +1087,7 @@
> >  #define MSR_IA32_QM_CTR			0xc8e
> >  #define MSR_IA32_PQR_ASSOC		0xc8f
> >  #define MSR_IA32_L3_CBM_BASE		0xc90
> > +#define MSR_RMID_SNC_CONFIG		0xca0
> >  #define MSR_IA32_L2_CBM_BASE		0xd10
> >  #define MSR_IA32_MBA_THRTL_BASE		0xd50
> >  
> > diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
> > index 016ef0373c5a..00a330bc5ced 100644
> > --- a/arch/x86/kernel/cpu/resctrl/internal.h
> > +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> > @@ -446,6 +446,8 @@ DECLARE_STATIC_KEY_FALSE(rdt_alloc_enable_key);
> >  
> >  extern struct dentry *debugfs_resctrl;
> >  
> > +extern int snc_nodes_per_l3_cache;
> > +
> >  enum resctrl_res_level {
> >  	RDT_RESOURCE_L3,
> >  	RDT_RESOURCE_L2,
> > diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> > index 0161362b0c3e..1331add347fc 100644
> > --- a/arch/x86/kernel/cpu/resctrl/core.c
> > +++ b/arch/x86/kernel/cpu/resctrl/core.c
> > @@ -16,11 +16,14 @@
> >  
> >  #define pr_fmt(fmt)	"resctrl: " fmt
> >  
> > +#include <linux/cpu.h>
> >  #include <linux/slab.h>
> >  #include <linux/err.h>
> >  #include <linux/cacheinfo.h>
> >  #include <linux/cpuhotplug.h>
> > +#include <linux/mod_devicetable.h>
> >  
> 
> What does this include provide?

This header provides the defintion of struct x86_cpu_id.

> 
> > +#include <asm/cpu_device_id.h>
> >  #include <asm/intel-family.h>
> >  #include <asm/resctrl.h>
> >  #include "internal.h"
> > @@ -48,6 +51,13 @@ int max_name_width, max_data_width;
> >   */
> >  bool rdt_alloc_capable;
> >  
> > +/*
> > + * Number of SNC nodes that share each L3 cache.
> > + * Default is 1 for systems that do not support
> > + * SNC, or have SNC disabled.
> > + */
> > +int snc_nodes_per_l3_cache = 1;
> > +
> >  static void
> >  mba_wrmsr_intel(struct rdt_domain *d, struct msr_param *m,
> >  		struct rdt_resource *r);
> > @@ -543,9 +553,16 @@ static void domain_add_cpu_ctrl(int cpu, struct rdt_resource *r)
> >  	}
> >  }
> >  
> > +static int get_mon_scope_id(int cpu, int scope)
> > +{
> > +	if (scope == MON_SCOPE_NODE)
> > +		return cpu_to_node(cpu);
> > +	return get_cpu_cacheinfo_id(cpu, scope);
> > +}
> > +
> >  static void domain_add_cpu_mon(int cpu, struct rdt_resource *r)
> >  {
> > -	int id = get_cpu_cacheinfo_id(cpu, r->mon_scope);
> > +	int id = get_mon_scope_id(cpu, r->mon_scope);
> >  	struct list_head *add_pos = NULL;
> >  	struct rdt_hw_mondomain *hw_mondom;
> >  	struct rdt_mondomain *d;
> > @@ -692,11 +709,28 @@ static void clear_closid_rmid(int cpu)
> >  	wrmsr(MSR_IA32_PQR_ASSOC, 0, 0);
> >  }
> >  
> > +static void snc_remap_rmids(int cpu)
> > +{
> > +	u64	val;
> 
> No need for tab here.

Turned into a <SPACE>

> 
> > +
> > +	/* Only need to enable once per package */
> > +	if (cpumask_first(topology_core_cpumask(cpu)) != cpu)
> > +		return;
> > +
> > +	rdmsrl(MSR_RMID_SNC_CONFIG, val);
> > +	val &= ~BIT_ULL(0);
> > +	wrmsrl(MSR_RMID_SNC_CONFIG, val);
> > +}
> 
> Could you please document snc_remap_rmids()
> with information on what the bit in the register means
> and what the above function does?

Added header comment for this function describing the MSR
and the function.

> 
> > +
> >  static int resctrl_online_cpu(unsigned int cpu)
> >  {
> >  	struct rdt_resource *r;
> >  
> >  	mutex_lock(&rdtgroup_mutex);
> > +
> > +	if (snc_nodes_per_l3_cache > 1)
> > +		snc_remap_rmids(cpu);
> > +
> >  	for_each_capable_rdt_resource(r)
> >  		domain_add_cpu(cpu, r);
> >  	/* The cpu is set in default rdtgroup after online. */
> > @@ -951,11 +985,57 @@ static __init bool get_rdt_resources(void)
> >  	return (rdt_mon_capable || rdt_alloc_capable);
> >  }
> >  
> 
> I think it will help to add a comment like:
> "CPUs that support the model specific MSR_RMID_SNC_CONFIG register."

Done.

> 
> > +static const struct x86_cpu_id snc_cpu_ids[] __initconst = {
> > +	X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, 0),
> > +	X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, 0),
> > +	X86_MATCH_INTEL_FAM6_MODEL(EMERALDRAPIDS_X, 0),
> > +	{}
> > +};
> > +
> > +/*
> > + * There isn't a simple enumeration bit to show whether SNC mode
> > + * is enabled. Look at the ratio of number of NUMA nodes to the
> > + * number of distinct L3 caches. Take care to skip memory-only nodes.
> > + */
> > +static __init int get_snc_config(void)
> > +{
> > +	unsigned long *node_caches;
> > +	int mem_only_nodes = 0;
> > +	int cpu, node, ret;
> > +
> > +	if (!x86_match_cpu(snc_cpu_ids))
> > +		return 1;
> > +
> > +	node_caches = kcalloc(BITS_TO_LONGS(nr_node_ids), sizeof(*node_caches), GFP_KERNEL);
> > +	if (!node_caches)
> > +		return 1;
> > +
> > +	cpus_read_lock();
> > +	for_each_node(node) {
> > +		cpu = cpumask_first(cpumask_of_node(node));
> > +		if (cpu < nr_cpu_ids)
> > +			set_bit(get_cpu_cacheinfo_id(cpu, 3), node_caches);
> > +		else
> > +			mem_only_nodes++;
> > +	}
> > +	cpus_read_unlock();
> 
> I am not familiar with the numa code at all so please correct me
> where I am wrong. I do see that nr_node_ids is initialized with __init code
> so it should be accurate at this point. It looks to me like this initialization
> assumes that at least one CPU per node will be online at the time it is run.
> It is not clear to me that this assumption would always be true. 

Resctrl initialization is kicked off as a late_initcall(). So all CPUs
and devices are fully initialized before this code runs.

Resctrl can't be moved to an "init" state before CPUs are brought online
because it makes a call to cpuhp_setup_state() to get callbacks for
online/offline CPU events ... that call can't be done early.

> 
> > +
> > +	ret = (nr_node_ids - mem_only_nodes) / bitmap_weight(node_caches, nr_node_ids);
> > +	kfree(node_caches);
> > +
> > +	if (ret > 1)
> > +		rdt_resources_all[RDT_RESOURCE_L3].r_resctrl.mon_scope = MON_SCOPE_NODE;
> > +
> > +	return ret;
> > +}
> > +
> >  static __init void rdt_init_res_defs_intel(void)
> >  {
> >  	struct rdt_hw_resource *hw_res;
> >  	struct rdt_resource *r;
> >  
> > +	snc_nodes_per_l3_cache = get_snc_config();
> > +
> >  	for_each_rdt_resource(r) {
> >  		hw_res = resctrl_to_arch_res(r);
> >  
> > diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
> > index 0d9605fccb34..4ca064e62911 100644
> > --- a/arch/x86/kernel/cpu/resctrl/monitor.c
> > +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
> > @@ -148,8 +148,18 @@ static inline struct rmid_entry *__rmid_entry(u32 rmid)
> >  
> >  static int __rmid_read(u32 rmid, enum resctrl_event_id eventid, u64 *val)
> >  {
> > +	struct rdt_resource *r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl;
> > +	int cpu = get_cpu();
> 
> I do not think it is necessary to disable preemption here. Also please note that
> James is working on changes to not have this code block. Could just smp_processor_id()
> do?

Not needed to disable pre-emption - because it is already disabled ...
call sequence to get to here comes through smp_call_function_single()
which does it's own get_cpu()). Will change this code to use
smp_processor_id()
> 
> > +	int rmid_offset = 0;
> >  	u64 msr_val;
> >  
> > +	/*
> > +	 * When SNC mode is on, need to compute the offset to read the
> > +	 * physical RMID counter for the node to which this CPU belongs
> > +	 */
> > +	if (snc_nodes_per_l3_cache > 1)
> > +		rmid_offset = (cpu_to_node(cpu) % snc_nodes_per_l3_cache) * r->num_rmid;
> > +
> >  	/*
> >  	 * As per the SDM, when IA32_QM_EVTSEL.EvtID (bits 7:0) is configured
> >  	 * with a valid event code for supported resource type and the bits
> > @@ -158,9 +168,11 @@ static int __rmid_read(u32 rmid, enum resctrl_event_id eventid, u64 *val)
> >  	 * IA32_QM_CTR.Error (bit 63) and IA32_QM_CTR.Unavailable (bit 62)
> >  	 * are error bits.
> >  	 */
> > -	wrmsr(MSR_IA32_QM_EVTSEL, eventid, rmid);
> > +	wrmsr(MSR_IA32_QM_EVTSEL, eventid, rmid + rmid_offset);
> >  	rdmsrl(MSR_IA32_QM_CTR, msr_val);
> >  
> > +	put_cpu();
> > +
> >  	if (msr_val & RMID_VAL_ERROR)
> >  		return -EIO;
> >  	if (msr_val & RMID_VAL_UNAVAIL)
> 
> Reinette

-Tony

  reply	other threads:[~2023-08-25 17:50 UTC|newest]

Thread overview: 331+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-13 16:31 [PATCH v3 0/8] x86/resctrl: Add support for Sub-NUMA cluster (SNC) systems Tony Luck
2023-07-13 16:32 ` [PATCH v3 1/8] x86/resctrl: Refactor in preparation for node-scoped resources Tony Luck
2023-07-18 20:36   ` Reinette Chatre
2023-07-13 16:32 ` [PATCH v3 2/8] x86/resctrl: Remove hard code of RDT_RESOURCE_L3 in monitor.c Tony Luck
2023-07-18 20:37   ` Reinette Chatre
2023-07-13 16:32 ` [PATCH v3 3/8] x86/resctrl: Add a new node-scoped resource to rdt_resources_all[] Tony Luck
2023-07-18 20:40   ` Reinette Chatre
2023-07-18 22:57     ` Tony Luck
2023-07-18 23:45       ` Reinette Chatre
2023-07-19  0:11         ` Luck, Tony
2023-07-20 17:27           ` Reinette Chatre
2023-07-20  0:20         ` Tony Luck
2023-07-20 17:27           ` Reinette Chatre
2023-07-20 21:56             ` Luck, Tony
2023-07-22 19:18               ` Tony Luck
2023-07-13 16:32 ` [PATCH v3 4/8] x86/resctrl: Add code to setup monitoring at L3 or NODE scope Tony Luck
2023-07-18 20:42   ` Reinette Chatre
2023-07-13 16:32 ` [PATCH v3 5/8] x86/resctrl: Add package scoped resource Tony Luck
2023-07-18 20:43   ` Reinette Chatre
2023-07-18 23:05     ` Tony Luck
2023-07-13 16:32 ` [PATCH v3 6/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-07-13 16:32 ` [PATCH v3 7/8] x86/resctrl: Determine if Sub-NUMA Cluster is enabled and initialize Tony Luck
2023-07-18 20:45   ` Reinette Chatre
2023-07-13 16:32 ` [PATCH v3 8/8] selftests/resctrl: Adjust effective L3 cache size when SNC enabled Tony Luck
2023-07-19  2:43 ` [PATCH v3 0/8] x86/resctrl: Add support for Sub-NUMA cluster (SNC) systems Shaopeng Tan (Fujitsu)
2023-07-22 20:21   ` Tony Luck
2023-07-22 19:07 ` [PATCH v4 0/7] " Tony Luck
2023-07-22 19:07   ` [PATCH v4 1/7] x86/resctrl: Create separate domains for control and monitoring Tony Luck
2023-08-11 17:29     ` Reinette Chatre
2023-08-25 17:05       ` Tony Luck
2023-08-28 17:05         ` Reinette Chatre
2023-08-28 18:46           ` Tony Luck
2023-08-28 19:56             ` Reinette Chatre
2023-08-28 20:59               ` Tony Luck
2023-08-28 21:20                 ` Reinette Chatre
2023-08-28 22:12                   ` Tony Luck
2023-08-29  0:31                     ` Tony Luck
2023-07-22 19:07   ` [PATCH v4 2/7] x86/resctrl: Split the rdt_domain structures Tony Luck
2023-07-22 19:07   ` [PATCH v4 3/7] x86/resctrl: Change monitor code to use rdt_mondomain Tony Luck
2023-08-11 17:30     ` Reinette Chatre
2023-08-25 17:13       ` Tony Luck
2023-07-22 19:07   ` [PATCH v4 4/7] x86/resctrl: Delete unused fields from struct rdt_domain Tony Luck
2023-08-11 17:30     ` Reinette Chatre
2023-08-25 17:13       ` Tony Luck
2023-07-22 19:07   ` [PATCH v4 5/7] x86/resctrl: Determine if Sub-NUMA Cluster is enabled and initialize Tony Luck
2023-08-11 17:32     ` Reinette Chatre
2023-08-25 17:49       ` Tony Luck [this message]
2023-08-28 17:05         ` Reinette Chatre
2023-08-28 19:01           ` Tony Luck
2023-07-22 19:07   ` [PATCH v4 6/7] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-08-11 17:33     ` Reinette Chatre
2023-08-25 17:50       ` Tony Luck
2023-07-22 19:07   ` [PATCH v4 7/7] selftests/resctrl: Adjust effective L3 cache size when SNC enabled Tony Luck
2023-08-11 17:33     ` Reinette Chatre
2023-08-25 17:56       ` Tony Luck
2023-08-28 17:06         ` Reinette Chatre
2023-08-28 19:06           ` Tony Luck
2023-07-26  3:10   ` [PATCH v4 0/7] Add support for Sub-NUMA cluster (SNC) systems Drew Fustini
2023-07-26 14:10     ` Tony Luck
2023-08-11 17:27   ` Reinette Chatre
2023-08-29 23:44   ` [PATCH v5 0/8] " Tony Luck
2023-08-29 23:44     ` [PATCH v5 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-08-30  8:53       ` Maciej Wieczór-Retman
2023-08-30 14:11         ` Luck, Tony
2023-08-31 13:02           ` Maciej Wieczór-Retman
2023-08-31 17:26             ` Luck, Tony
2023-09-25 23:22       ` Reinette Chatre
2023-09-26  0:56         ` Tony Luck
2023-09-26 15:19           ` Reinette Chatre
2023-09-26 16:36       ` Moger, Babu
2023-09-26 17:18         ` Luck, Tony
2023-08-29 23:44     ` [PATCH v5 2/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-09-25 23:24       ` Reinette Chatre
2023-09-28 17:21         ` Tony Luck
2023-09-26 16:54       ` Moger, Babu
2023-09-26 17:45         ` Luck, Tony
2023-08-29 23:44     ` [PATCH v5 3/8] x86/resctrl: Split the rdt_domain structure Tony Luck
2023-09-25 23:25       ` Reinette Chatre
2023-09-26 18:46         ` Tony Luck
2023-09-26 22:00           ` Reinette Chatre
2023-09-26 22:14             ` Luck, Tony
2023-09-26 23:06               ` Reinette Chatre
2023-09-27  0:00                 ` Luck, Tony
2023-09-27 15:22                   ` Reinette Chatre
2023-09-28 17:33         ` Tony Luck
2023-09-28 18:42           ` Reinette Chatre
2023-08-29 23:44     ` [PATCH v5 4/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-09-25 23:25       ` Reinette Chatre
2023-09-28 17:42         ` Tony Luck
2023-09-28 18:44           ` Reinette Chatre
2023-08-29 23:44     ` [PATCH v5 5/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-09-25 23:27       ` Reinette Chatre
2023-09-28 17:48         ` Tony Luck
2023-08-29 23:44     ` [PATCH v5 6/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-09-25 23:29       ` Reinette Chatre
2023-09-28 18:12         ` Tony Luck
2023-09-28 18:44           ` Reinette Chatre
2023-09-26 19:16       ` Moger, Babu
2023-09-26 19:40         ` Luck, Tony
2023-09-26 19:48           ` Moger, Babu
2023-09-26 20:02             ` Luck, Tony
2023-09-26 20:18               ` Moger, Babu
2023-09-26 21:03           ` Reinette Chatre
2023-08-29 23:44     ` [PATCH v5 7/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-09-25 23:30       ` Reinette Chatre
2023-09-28 18:15         ` Tony Luck
2023-09-26 19:00       ` Moger, Babu
2023-09-26 19:11         ` Luck, Tony
2023-09-26 19:26           ` Moger, Babu
2023-09-26 19:43             ` Luck, Tony
2023-09-26 19:52               ` Moger, Babu
2023-08-29 23:44     ` [PATCH v5 8/8] selftests/resctrl: Adjust effective L3 cache size when SNC enabled Tony Luck
2023-08-30 13:08       ` Maciej Wieczór-Retman
2023-08-30 15:43         ` Luck, Tony
2023-08-31  6:51           ` Maciej Wieczór-Retman
2023-08-31 17:04             ` Luck, Tony
2023-09-07  5:21       ` Shaopeng Tan (Fujitsu)
2023-09-07 16:19         ` Luck, Tony
2023-09-19  6:50           ` Maciej Wieczór-Retman
2023-09-19 14:36             ` Luck, Tony
2023-09-20  6:06               ` Maciej Wieczór-Retman
2023-09-20 15:00                 ` Luck, Tony
2023-09-11 20:23     ` [PATCH v5 0/8] Add support for Sub-NUMA cluster (SNC) systems Reinette Chatre
2023-09-12 16:01       ` Tony Luck
2023-09-12 17:13         ` Reinette Chatre
2023-09-12 17:45           ` Tony Luck
2023-09-12 18:31             ` Reinette Chatre
2023-09-28 19:13     ` [PATCH v6 " Tony Luck
2023-09-28 19:13       ` [PATCH v6 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-09-29 12:09         ` Peter Newman
2023-09-29 18:38           ` Tony Luck
2023-09-28 19:13       ` [PATCH v6 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-09-29 12:19         ` Peter Newman
2023-09-28 19:13       ` [PATCH v6 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-09-29 13:10         ` Peter Newman
2023-09-29 19:15           ` Tony Luck
2023-09-28 19:13       ` [PATCH v6 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-09-29 13:44         ` Peter Newman
2023-09-29 20:06           ` Tony Luck
2023-09-28 19:13       ` [PATCH v6 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-09-29 14:21         ` Peter Newman
2023-09-28 19:13       ` [PATCH v6 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-09-29 14:21         ` Peter Newman
2023-09-29 20:18           ` Tony Luck
2023-09-28 19:13       ` [PATCH v6 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-09-29 14:32         ` Peter Newman
2023-09-28 19:13       ` [PATCH v6 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-09-29 14:54         ` Peter Newman
2023-09-29 20:51           ` Tony Luck
2023-09-29 14:33       ` [PATCH v6 0/8] Add support for Sub-NUMA cluster (SNC) systems Peter Newman
2023-09-29 21:06         ` Tony Luck
2023-10-03 16:07       ` [PATCH v7 " Tony Luck
2023-10-03 16:07         ` [PATCH v7 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-10-03 16:07         ` [PATCH v7 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-10-03 16:07         ` [PATCH v7 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-10-03 16:07         ` [PATCH v7 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-10-03 16:46           ` Luck, Tony
2023-10-03 16:07         ` [PATCH v7 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-10-03 16:07         ` [PATCH v7 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-10-03 16:07         ` [PATCH v7 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-10-03 16:07         ` [PATCH v7 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-10-03 16:16         ` [PATCH v7 0/8] Add support for Sub-NUMA cluster (SNC) systems Luck, Tony
2023-10-03 16:34           ` Reinette Chatre
2023-10-03 21:30       ` [PATCH v8 " Tony Luck
2023-10-03 21:30         ` [PATCH v8 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-10-05 14:27           ` Peter Newman
2023-10-03 21:30         ` [PATCH v8 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-10-03 21:30         ` [PATCH v8 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-10-05 14:34           ` Peter Newman
2023-10-03 21:30         ` [PATCH v8 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-10-03 21:30         ` [PATCH v8 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-10-03 21:30         ` [PATCH v8 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-10-03 21:30         ` [PATCH v8 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-10-03 21:30         ` [PATCH v8 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-10-05 13:54           ` Peter Newman
2023-10-03 21:44         ` [PATCH v8 0/8] Add support for Sub-NUMA cluster (SNC) systems Reinette Chatre
2023-10-05  8:10         ` Shaopeng Tan (Fujitsu)
2023-10-05 15:08           ` Luck, Tony
2023-10-06 20:27             ` Reinette Chatre
2023-10-20 21:30         ` [PATCH v9 " Tony Luck
2023-10-20 21:30           ` [PATCH v9 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-10-30 21:18             ` Reinette Chatre
2023-10-20 21:30           ` [PATCH v9 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-10-30 21:19             ` Reinette Chatre
2023-10-20 21:30           ` [PATCH v9 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-10-30 21:21             ` Reinette Chatre
2023-10-20 21:30           ` [PATCH v9 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-10-30 21:21             ` Reinette Chatre
2023-10-20 21:30           ` [PATCH v9 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-10-20 21:30           ` [PATCH v9 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-10-30 21:22             ` Reinette Chatre
2023-10-20 21:30           ` [PATCH v9 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-10-30 21:23             ` Reinette Chatre
2023-10-20 21:31           ` [PATCH v9 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-10-24  5:41           ` [PATCH v9 0/8] Add support for Sub-NUMA cluster (SNC) systems Shaopeng Tan (Fujitsu)
2023-10-24 15:29             ` Luck, Tony
2023-10-31 21:17           ` [PATCH v10 " Tony Luck
2023-10-31 21:17             ` [PATCH v10 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-11-07  0:31               ` Reinette Chatre
2023-10-31 21:17             ` [PATCH v10 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-10-31 21:17             ` [PATCH v10 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-11-01 19:53               ` Luck, Tony
2023-11-07  0:32               ` Reinette Chatre
2023-10-31 21:17             ` [PATCH v10 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-11-07  0:32               ` Reinette Chatre
2023-11-08 19:19                 ` Tony Luck
2023-11-08 19:43                   ` Reinette Chatre
2023-11-08 20:10                     ` Luck, Tony
2023-10-31 21:17             ` [PATCH v10 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-10-31 21:17             ` [PATCH v10 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-10-31 21:17             ` [PATCH v10 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-11-07  0:33               ` Reinette Chatre
2023-10-31 21:17             ` [PATCH v10 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-11-09 23:09             ` [PATCH v11 0/8] Add support for Sub-NUMA cluster (SNC) systems Tony Luck
2023-11-09 23:09               ` [PATCH v11 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-11-13 19:36                 ` Moger, Babu
2023-11-13 20:49                   ` Luck, Tony
2023-11-20 22:16                 ` Reinette Chatre
2023-11-09 23:09               ` [PATCH v11 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-11-13 18:08                 ` Moger, Babu
2023-11-13 18:52                   ` Tony Luck
2023-11-13 19:32                     ` Moger, Babu
2023-11-20 22:18                 ` Reinette Chatre
2023-11-09 23:09               ` [PATCH v11 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-11-20 22:19                 ` Reinette Chatre
2023-11-09 23:09               ` [PATCH v11 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-11-20 22:19                 ` Reinette Chatre
2023-11-09 23:09               ` [PATCH v11 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-11-20 22:22                 ` Reinette Chatre
2023-11-09 23:09               ` [PATCH v11 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-11-20 22:23                 ` Reinette Chatre
2023-11-09 23:09               ` [PATCH v11 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-11-20 22:24                 ` Reinette Chatre
2023-11-09 23:09               ` [PATCH v11 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-11-09 23:14                 ` Randy Dunlap
2023-11-20 22:25                 ` Reinette Chatre
2023-11-13  4:46               ` [PATCH v11 0/8] Add support for Sub-NUMA cluster (SNC) systems Shaopeng Tan (Fujitsu)
2023-11-13 17:33                 ` Luck, Tony
2023-11-30  0:34               ` [PATCH v12 " Tony Luck
2023-11-30  0:34                 ` [PATCH v12 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-11-30  0:34                 ` [PATCH v12 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-11-30  0:34                 ` [PATCH v12 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-11-30 21:51                   ` Reinette Chatre
2023-11-30  0:34                 ` [PATCH v12 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-11-30  0:34                 ` [PATCH v12 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-11-30  0:34                 ` [PATCH v12 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-11-30  0:34                 ` [PATCH v12 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-11-30 18:02                   ` Fam Zheng
2023-11-30 20:57                     ` Tony Luck
2023-11-30 21:47                       ` Reinette Chatre
2023-11-30 22:43                         ` Tony Luck
2023-11-30 23:40                           ` Reinette Chatre
2023-12-01  0:37                             ` Tony Luck
2023-12-01  2:08                               ` Reinette Chatre
2023-11-30  0:34                 ` [PATCH v12 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-12-04 16:55                   ` Moger, Babu
2023-12-04 17:51                     ` Luck, Tony
2023-12-04 18:53                 ` [PATCH v13 0/8] Add support for Sub-NUMA cluster (SNC) systems Tony Luck
2023-12-04 18:53                   ` [PATCH v13 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2023-12-04 23:03                     ` Moger, Babu
2023-12-04 18:53                   ` [PATCH v13 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2023-12-04 23:03                     ` Moger, Babu
2023-12-04 18:53                   ` [PATCH v13 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2023-12-04 23:03                     ` Moger, Babu
2023-12-04 18:53                   ` [PATCH v13 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2023-12-04 23:03                     ` Moger, Babu
2023-12-04 18:53                   ` [PATCH v13 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2023-12-04 23:04                     ` Moger, Babu
2023-12-04 18:53                   ` [PATCH v13 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2023-12-04 23:04                     ` Moger, Babu
2023-12-04 18:53                   ` [PATCH v13 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2023-12-04 23:04                     ` Moger, Babu
2023-12-04 18:53                   ` [PATCH v13 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2023-12-04 23:04                     ` Moger, Babu
2023-12-04 21:20                   ` [PATCH v13 0/8] Add support for Sub-NUMA cluster (SNC) systems Moger, Babu
2023-12-04 21:33                     ` Luck, Tony
2023-12-04 23:25                   ` Tony Luck
2024-01-26 22:38                   ` [PATCH v14 " Tony Luck
2024-01-26 22:38                     ` [PATCH v14 1/8] x86/resctrl: Prepare for new domain scope Tony Luck
2024-01-26 22:38                     ` [PATCH v14 2/8] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2024-01-26 22:38                     ` [PATCH v14 3/8] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2024-01-26 22:38                     ` [PATCH v14 4/8] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2024-01-26 22:38                     ` [PATCH v14 5/8] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2024-01-26 22:38                     ` [PATCH v14 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2024-01-26 22:38                     ` [PATCH v14 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2024-01-26 22:38                     ` [PATCH v14 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2024-01-30  1:05                     ` [PATCH v14 0/8] Add support for Sub-NUMA cluster (SNC) systems Tony Luck
2024-01-30 22:20                     ` [PATCH v15-RFC " Tony Luck
2024-01-30 22:20                       ` [PATCH v15-RFC 1/8] x86/resctrl: Split the RDT_RESOURCE_L3 resource Tony Luck
2024-02-09 15:28                         ` Moger, Babu
2024-02-09 18:44                           ` Tony Luck
2024-02-09 19:40                             ` Moger, Babu
2024-01-30 22:20                       ` [PATCH v15-RFC 2/8] x86/resctrl: Move all monitoring functions to RDT_RESOURCE_L3_MON Tony Luck
2024-02-09 15:28                         ` Moger, Babu
2024-02-09 18:51                           ` Tony Luck
2024-01-30 22:20                       ` [PATCH v15-RFC 3/8] x86/resctrl: Prepare for non-cache-scoped resources Tony Luck
2024-02-09 15:28                         ` Moger, Babu
2024-02-09 18:57                           ` Tony Luck
2024-02-09 19:44                             ` Moger, Babu
2024-01-30 22:20                       ` [PATCH v15-RFC 4/8] x86/resctrl: Add helper function to look up domain_id from scope Tony Luck
2024-02-09 15:28                         ` Moger, Babu
2024-02-09 19:06                           ` Tony Luck
2024-01-30 22:20                       ` [PATCH v15-RFC 5/8] x86/resctrl: Add "NODE" as an option for resource scope Tony Luck
2024-02-09 15:29                         ` Moger, Babu
2024-02-09 19:23                           ` Tony Luck
2024-02-12 17:16                             ` Moger, Babu
2024-01-30 22:20                       ` [PATCH v15-RFC 6/8] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2024-02-09 15:29                         ` Moger, Babu
2024-02-09 19:35                           ` Tony Luck
2024-02-12 17:22                             ` Moger, Babu
2024-01-30 22:20                       ` [PATCH v15-RFC 7/8] x86/resctrl: Sub NUMA Cluster detection and enable Tony Luck
2024-01-30 22:20                       ` [PATCH v15-RFC 8/8] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
2024-02-01 18:46                       ` [PATCH v15-RFC 0/8] Add support for Sub-NUMA cluster (SNC) systems Reinette Chatre
2024-02-08  4:17                       ` Drew Fustini
2024-02-08 19:26                         ` Luck, Tony
2024-02-09 15:27                       ` Moger, Babu
2024-02-09 18:31                         ` Tony Luck
2024-02-09 19:38                           ` Moger, Babu
2024-02-09 21:26                             ` Reinette Chatre
2024-02-09 21:36                               ` Luck, Tony
2024-02-09 22:16                                 ` Reinette Chatre
2024-02-09 23:44                                   ` Luck, Tony
2024-02-10  0:28                                     ` Reinette Chatre
2024-02-12 16:52                                       ` Luck, Tony
2024-02-12 19:44                         ` Reinette Chatre
2024-02-12 19:57                           ` Luck, Tony
2024-02-12 21:43                             ` Reinette Chatre
2024-02-12 22:05                               ` Tony Luck
2024-02-13 18:11                                 ` James Morse
2024-02-13 19:02                                   ` Luck, Tony
2024-02-12 20:46                           ` Moger, Babu

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=ZOjpugXNDVx/cGRl@agluck-desk3 \
    --to=tony.luck@intel.com \
    --cc=babu.moger@amd.com \
    --cc=corbet@lwn.net \
    --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;
as well as URLs for NNTP newsgroup(s).