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
next prev parent 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.