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 1/7] x86/resctrl: Create separate domains for control and monitoring
Date: Fri, 25 Aug 2023 10:05:03 -0700	[thread overview]
Message-ID: <ZOjfPx8iwTULTqdg@agluck-desk3> (raw)
In-Reply-To: <cc1a144f-6667-18fb-7fe7-cd15ebfedd08@intel.com>

On Fri, Aug 11, 2023 at 10:29:25AM -0700, Reinette Chatre wrote:
> Hi Tony,
> 
> On 7/22/2023 12:07 PM, Tony Luck wrote:
> > First step towards supporting resource control where the scope of
> > control operations is not the same as monitor operations.
> 
> Each changelog should stand on its own merit. This changelog
> appears to be written as a continuation of the cover letter.
> 
> Please do ensure that each patch first establishes the context
> before it describes the problem and solution. For example,
> as a context this changelog can start by describing what the
> resctrl domains list represents.
> 
> > 
> > Add an extra list in the rdt_resource structure. For this will
> > just duplicate the existing list of domains based on the L3 cache
> > scope.
> 
> The above paragraph does not make this change appealing at all.
> 
> > Refactor the domain_add_cpu() and domain_remove() functions to
> 
> domain_remove() -> domain_remove_cpu()
> 
> > build separate lists for r->alloc_capable and r->mon_capable
> > resources. Note that only the "L3" domain currently supports
> > both types.
> 
> "L3" domain -> "L3" resource?
> 
> > 
> > Change all places where monitoring functions walk the list of
> > domains to use the new "mondomains" list instead of the old
> > "domains" list.
> 
> I would not refer to it as "the old domains list" as it creates
> impression that this is being replaced. The changelog makes
> no mention that domains list will remain and be dedicated to
> control domains. I think this is important to include in description
> of this change.

I've rewritten the entire commit message incorporating your suggestions.
V6 will be posted soon (after I get some time on an SNC SPR to check
that it all works!)

> 
> > 
> > Signed-off-by: Tony Luck <tony.luck@intel.com>
> > ---
> >  include/linux/resctrl.h                   |  10 +-
> >  arch/x86/kernel/cpu/resctrl/internal.h    |   2 +-
> >  arch/x86/kernel/cpu/resctrl/core.c        | 195 +++++++++++++++-------
> >  arch/x86/kernel/cpu/resctrl/ctrlmondata.c |   2 +-
> >  arch/x86/kernel/cpu/resctrl/monitor.c     |   2 +-
> >  arch/x86/kernel/cpu/resctrl/rdtgroup.c    |  30 ++--
> >  6 files changed, 167 insertions(+), 74 deletions(-)
> > 
> > diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> > index 8334eeacfec5..1267d56f9e76 100644
> > --- a/include/linux/resctrl.h
> > +++ b/include/linux/resctrl.h
> > @@ -151,9 +151,11 @@ struct resctrl_schema;
> >   * @mon_capable:	Is monitor feature available on this machine
> >   * @num_rmid:		Number of RMIDs available
> >   * @cache_level:	Which cache level defines scope of this resource
> > + * @mon_scope:		Scope of this resource if different from cache_level
> 
> I think this addition should be deferred. As it is here it the "if different
> from cache_level" also creates many questions (when will it be different?
> how will it be determined that the scope is different in order to know that
> mon_scope should be used?)

I've gone in a different direction. V6 renames "cache_level" to
"ctrl_scope". I think this makes intent clear from step #1.

> 
> Looking ahead on how mon_scope is used there does not seem to be an "if"
> involved at all ... mon_scope is always the monitoring scope. 

Dropped the "if different" comment. You are correct that this is
unconditionally the monitor scope.

> 
> >   * @cache:		Cache allocation related data
> >   * @membw:		If the component has bandwidth controls, their properties.
> >   * @domains:		All domains for this resource
> 
> A change to the domains comment would also help - to highlight that it is
> now dedicated to control domains.

Done.

> 
> > + * @mondomains:		Monitor domains for this resource
> >   * @name:		Name to use in "schemata" file.
> >   * @data_width:		Character width of data when displaying
> >   * @default_ctrl:	Specifies default cache cbm or memory B/W percent.
> > @@ -169,9 +171,11 @@ struct rdt_resource {
> >  	bool			mon_capable;
> >  	int			num_rmid;
> >  	int			cache_level;
> > +	int			mon_scope;
> >  	struct resctrl_cache	cache;
> >  	struct resctrl_membw	membw;
> >  	struct list_head	domains;
> > +	struct list_head	mondomains;
> >  	char			*name;
> >  	int			data_width;
> >  	u32			default_ctrl;
> 
> ...
> 
> > @@ -384,14 +386,15 @@ void rdt_ctrl_update(void *arg)
> >  }
> >  
> >  /*
> > - * rdt_find_domain - Find a domain in a resource that matches input resource id
> > + * rdt_find_domain - Find a domain in one of the lists for a resource that
> > + * matches input resource id
> >   *
> 
> This change makes the function more vague. I think original summary is
> still accurate, how the list is used can be describe in the details below.
> I see more changes to this function is upcoming and I will comment more 
> at those sites.

Re-worked this based on your other suggestions to have separate find*
functions for ctrl and mon cases calling to common __rdt_find_domain().

> 
> >   * Search resource r's domain list to find the resource id. If the resource
> >   * id is found in a domain, return the domain. Otherwise, if requested by
> >   * caller, return the first domain whose id is bigger than the input id.
> >   * The domain list is sorted by id in ascending order.
> >   */
> > -struct rdt_domain *rdt_find_domain(struct rdt_resource *r, int id,
> > +struct rdt_domain *rdt_find_domain(struct list_head *h, int id,
> >  				   struct list_head **pos)
> >  {
> >  	struct rdt_domain *d;
> > @@ -400,7 +403,7 @@ struct rdt_domain *rdt_find_domain(struct rdt_resource *r, int id,
> >  	if (id < 0)
> >  		return ERR_PTR(-ENODEV);
> >  
> > -	list_for_each(l, &r->domains) {
> > +	list_for_each(l, h) {
> >  		d = list_entry(l, struct rdt_domain, list);
> >  		/* When id is found, return its domain. */
> >  		if (id == d->id)
> > @@ -487,6 +490,94 @@ static int arch_domain_mbm_alloc(u32 num_rmid, struct rdt_hw_domain *hw_dom)
> >  	return 0;
> >  }
> >  
> > +static void domain_add_cpu_ctrl(int cpu, struct rdt_resource *r)
> > +{
> > +	int id = get_cpu_cacheinfo_id(cpu, r->cache_level);
> > +	struct list_head *add_pos = NULL;
> > +	struct rdt_hw_domain *hw_dom;
> > +	struct rdt_domain *d;
> > +	int err;
> > +
> > +	d = rdt_find_domain(&r->domains, id, &add_pos);
> > +	if (IS_ERR(d)) {
> > +		pr_warn("Couldn't find cache id for CPU %d\n", cpu);
> > +		return;
> > +	}
> > +
> > +	if (d) {
> > +		cpumask_set_cpu(cpu, &d->cpu_mask);
> > +		if (r->cache.arch_has_per_cpu_cfg)
> > +			rdt_domain_reconfigure_cdp(r);
> > +		return;
> > +	}
> > +
> > +	hw_dom = kzalloc_node(sizeof(*hw_dom), GFP_KERNEL, cpu_to_node(cpu));
> > +	if (!hw_dom)
> > +		return;
> > +
> > +	d = &hw_dom->d_resctrl;
> > +	d->id = id;
> > +	cpumask_set_cpu(cpu, &d->cpu_mask);
> > +
> > +	rdt_domain_reconfigure_cdp(r);
> > +
> > +	if (domain_setup_ctrlval(r, d)) {
> > +		domain_free(hw_dom);
> > +		return;
> > +	}
> > +
> > +	list_add_tail(&d->list, add_pos);
> > +
> > +	err = resctrl_online_ctrl_domain(r, d);
> > +	if (err) {
> > +		list_del(&d->list);
> > +		domain_free(hw_dom);
> > +	}
> > +}
> > +
> > +static void domain_add_cpu_mon(int cpu, struct rdt_resource *r)
> > +{
> > +	int id = get_cpu_cacheinfo_id(cpu, r->mon_scope);
> 
> Using a different scope variable but continuing to treat it
> as a cache level creates unnecessary confusion at this point.
> 
> > +	struct list_head *add_pos = NULL;
> > +	struct rdt_hw_domain *hw_dom;
> > +	struct rdt_domain *d;
> > +	int err;
> > +
> > +	d = rdt_find_domain(&r->mondomains, id, &add_pos);
> > +	if (IS_ERR(d)) {
> > +		pr_warn("Couldn't find cache id for CPU %d\n", cpu);
> 
> Note for future change ... this continues to refer to monitor scope as
> a cache id. I did not see this changed in the later patch that actually
> changes how scope is used.

Changed all these messages to refer to scope instead of cache id.

> 
> > +		return;
> > +	}
> > +
> > +	if (d) {
> > +		cpumask_set_cpu(cpu, &d->cpu_mask);
> > +		if (r->cache.arch_has_per_cpu_cfg)
> > +			rdt_domain_reconfigure_cdp(r);
> 
> Copy & paste error?

Indeed yes. This code isn't appropriate for the monitor case.
Deleted.

> 
> > +		return;
> > +	}
> > +
> > +	hw_dom = kzalloc_node(sizeof(*hw_dom), GFP_KERNEL, cpu_to_node(cpu));
> > +	if (!hw_dom)
> > +		return;
> > +
> > +	d = &hw_dom->d_resctrl;
> > +	d->id = id;
> > +	cpumask_set_cpu(cpu, &d->cpu_mask);
> > +
> > +	if (arch_domain_mbm_alloc(r->num_rmid, hw_dom)) {
> > +		domain_free(hw_dom);
> > +		return;
> > +	}
> > +
> > +	list_add_tail(&d->list, add_pos);
> > +
> > +	err = resctrl_online_mon_domain(r, d);
> > +	if (err) {
> > +		list_del(&d->list);
> > +		domain_free(hw_dom);
> > +	}
> > +}
> > +
> >  /*
> >   * domain_add_cpu - Add a cpu to a resource's domain list.
> >   *
> > @@ -502,61 +593,19 @@ static int arch_domain_mbm_alloc(u32 num_rmid, struct rdt_hw_domain *hw_dom)
> >   */
> >  static void domain_add_cpu(int cpu, struct rdt_resource *r)
> >  {
> > -	int id = get_cpu_cacheinfo_id(cpu, r->cache_level);
> > -	struct list_head *add_pos = NULL;
> > -	struct rdt_hw_domain *hw_dom;
> > -	struct rdt_domain *d;
> > -	int err;
> > -
> > -	d = rdt_find_domain(r, id, &add_pos);
> > -	if (IS_ERR(d)) {
> > -		pr_warn("Couldn't find cache id for CPU %d\n", cpu);
> > -		return;
> > -	}
> > -
> > -	if (d) {
> > -		cpumask_set_cpu(cpu, &d->cpu_mask);
> > -		if (r->cache.arch_has_per_cpu_cfg)
> > -			rdt_domain_reconfigure_cdp(r);
> > -		return;
> > -	}
> > -
> > -	hw_dom = kzalloc_node(sizeof(*hw_dom), GFP_KERNEL, cpu_to_node(cpu));
> > -	if (!hw_dom)
> > -		return;
> > -
> > -	d = &hw_dom->d_resctrl;
> > -	d->id = id;
> > -	cpumask_set_cpu(cpu, &d->cpu_mask);
> > -
> > -	rdt_domain_reconfigure_cdp(r);
> > -
> > -	if (r->alloc_capable && domain_setup_ctrlval(r, d)) {
> > -		domain_free(hw_dom);
> > -		return;
> > -	}
> > -
> > -	if (r->mon_capable && arch_domain_mbm_alloc(r->num_rmid, hw_dom)) {
> > -		domain_free(hw_dom);
> > -		return;
> > -	}
> > -
> > -	list_add_tail(&d->list, add_pos);
> > -
> > -	err = resctrl_online_domain(r, d);
> > -	if (err) {
> > -		list_del(&d->list);
> > -		domain_free(hw_dom);
> > -	}
> > +	if (r->alloc_capable)
> > +		domain_add_cpu_ctrl(cpu, r);
> > +	if (r->mon_capable)
> > +		domain_add_cpu_mon(cpu, r);
> >  }
> 
> A resource could be both alloc and mon capable ... both
> domain_add_cpu_ctrl() and domain_add_cpu_mon() can fail.
> Should domain_add_cpu_mon() still be run for a CPU if
> domain_add_cpu_ctrl() failed? 
> 
> Looking ahead the CPU should probably also not be added
> to the default groups mask if a failure occurred.

Existing code doesn't do anything for the case where a CPU
can't be added to a domain (probably the only real error case
is failure to allocate memory for the domain structure).

May be something to tackle in a future series if anyone
thinks this is a serious problem and has suggestions on
what to do. It seems like a catastrophic problem to not
have some CPUs in some/all domains of some resources.
Maybe this should disable mounting resctrl filesystem
completely?

> 
> > -static void domain_remove_cpu(int cpu, struct rdt_resource *r)
> > +static void domain_remove_cpu_ctrl(int cpu, struct rdt_resource *r)
> >  {
> >  	int id = get_cpu_cacheinfo_id(cpu, r->cache_level);
> >  	struct rdt_hw_domain *hw_dom;
> >  	struct rdt_domain *d;
> >  
> > -	d = rdt_find_domain(r, id, NULL);
> > +	d = rdt_find_domain(&r->domains, id, NULL);
> >  	if (IS_ERR_OR_NULL(d)) {
> >  		pr_warn("Couldn't find cache id for CPU %d\n", cpu);
> >  		return;
> > @@ -565,7 +614,7 @@ static void domain_remove_cpu(int cpu, struct rdt_resource *r)
> >  
> >  	cpumask_clear_cpu(cpu, &d->cpu_mask);
> >  	if (cpumask_empty(&d->cpu_mask)) {
> > -		resctrl_offline_domain(r, d);
> > +		resctrl_offline_ctrl_domain(r, d);
> >  		list_del(&d->list);
> >  
> >  		/*
> > @@ -578,6 +627,30 @@ static void domain_remove_cpu(int cpu, struct rdt_resource *r)
> >  
> >  		return;
> >  	}
> > +}
> > +
> > +static void domain_remove_cpu_mon(int cpu, struct rdt_resource *r)
> > +{
> > +	int id = get_cpu_cacheinfo_id(cpu, r->cache_level);
> 
> Introducing mon_scope can really be deferred ... here the monitoring code
> is not using mon_scope anyway.

Not deferring. But I did fix this to use r->mon_scope. Good catch.

> 
> > +	struct rdt_hw_domain *hw_dom;
> > +	struct rdt_domain *d;
> > +
> > +	d = rdt_find_domain(&r->mondomains, id, NULL);
> > +	if (IS_ERR_OR_NULL(d)) {
> > +		pr_warn("Couldn't find cache id for CPU %d\n", cpu);
> > +		return;
> > +	}
> > +	hw_dom = resctrl_to_arch_dom(d);
> > +
> > +	cpumask_clear_cpu(cpu, &d->cpu_mask);
> > +	if (cpumask_empty(&d->cpu_mask)) {
> > +		resctrl_offline_mon_domain(r, d);
> > +		list_del(&d->list);
> > +
> > +		domain_free(hw_dom);
> > +
> > +		return;
> > +	}
> >  
> >  	if (r == &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl) {
> >  		if (is_mbm_enabled() && cpu == d->mbm_work_cpu) {
> 
> Reinette

-Tony

  reply	other threads:[~2023-08-25 17:06 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 [this message]
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
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=ZOjfPx8iwTULTqdg@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).