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
next prev parent 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).