All of lore.kernel.org
 help / color / mirror / Atom feed
From: Reinette Chatre <reinette.chatre@intel.com>
To: Babu Moger <babu.moger@amd.com>, <corbet@lwn.net>,
	<tglx@linutronix.de>, <mingo@redhat.com>, <bp@alien8.de>
Cc: <fenghua.yu@intel.com>, <dave.hansen@linux.intel.com>,
	<x86@kernel.org>, <hpa@zytor.com>, <paulmck@kernel.org>,
	<akpm@linux-foundation.org>, <quic_neeraju@quicinc.com>,
	<rdunlap@infradead.org>, <damien.lemoal@opensource.wdc.com>,
	<songmuchun@bytedance.com>, <peterz@infradead.org>,
	<jpoimboe@kernel.org>, <pbonzini@redhat.com>,
	<chang.seok.bae@intel.com>, <pawan.kumar.gupta@linux.intel.com>,
	<jmattson@google.com>, <daniel.sneddon@linux.intel.com>,
	<sandipan.das@amd.com>, <tony.luck@intel.com>,
	<james.morse@arm.com>, <linux-doc@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <bagasdotme@gmail.com>,
	<eranian@google.com>, <christophe.leroy@csgroup.eu>,
	<jarkko@kernel.org>, <adrian.hunter@intel.com>,
	<quic_jiles@quicinc.com>, <peternewman@google.com>
Subject: Re: [PATCH v9 12/13] x86/resctrl: Replace smp_call_function_many() with on_each_cpu_mask()
Date: Thu, 15 Dec 2022 10:26:38 -0800	[thread overview]
Message-ID: <27680a78-d9c1-b86b-8aa4-38245d0547d7@intel.com> (raw)
In-Reply-To: <166990904972.17806.4220672882391241296.stgit@bmoger-ubuntu>

Hi Babu,

On 12/1/2022 7:37 AM, Babu Moger wrote:
> The call on_each_cpu_mask() runs the function on each CPU specified
> by cpumask, which may include the local processor. So, replace the call
> smp_call_function_many() with on_each_cpu_mask() to simplify the code.

Please move the solution to a new paragraph and drop the "So,". The two
instances of "the call" can be dropped also.

> 
> Signed-off-by: Babu Moger <babu.moger@amd.com>
> ---

Could you please move this patch to the beginning of this series?
Fixes and cleanups should go before new features.

>  arch/x86/kernel/cpu/resctrl/rdtgroup.c |   29 ++++++++---------------------
>  1 file changed, 8 insertions(+), 21 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 6897c480ae55..68e14831a638 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -325,12 +325,7 @@ static void update_cpu_closid_rmid(void *info)
>  static void
>  update_closid_rmid(const struct cpumask *cpu_mask, struct rdtgroup *r)
>  {
> -	int cpu = get_cpu();
> -
> -	if (cpumask_test_cpu(cpu, cpu_mask))
> -		update_cpu_closid_rmid(r);
> -	smp_call_function_many(cpu_mask, update_cpu_closid_rmid, r, 1);
> -	put_cpu();
> +	on_each_cpu_mask(cpu_mask, update_cpu_closid_rmid, r, 1);
>  }
>  
>  static int cpus_mon_write(struct rdtgroup *rdtgrp, cpumask_var_t newmask,
> @@ -2135,13 +2130,9 @@ static int set_cache_qos_cfg(int level, bool enable)
>  			/* Pick one CPU from each domain instance to update MSR */
>  			cpumask_set_cpu(cpumask_any(&d->cpu_mask), cpu_mask);
>  	}
> -	cpu = get_cpu();
> -	/* Update QOS_CFG MSR on this cpu if it's in cpu_mask. */
> -	if (cpumask_test_cpu(cpu, cpu_mask))
> -		update(&enable);
> -	/* Update QOS_CFG MSR on all other cpus in cpu_mask. */
> -	smp_call_function_many(cpu_mask, update, &enable, 1);
> -	put_cpu();
> +
> +	/* Update QOS_CFG MSR on all the CPUs in cpu_mask */
> +	on_each_cpu_mask(cpu_mask, update, &enable, 1);
>  
>  	free_cpumask_var(cpu_mask);
>  
> @@ -2618,7 +2609,7 @@ static int reset_all_ctrls(struct rdt_resource *r)
>  	struct msr_param msr_param;
>  	cpumask_var_t cpu_mask;
>  	struct rdt_domain *d;
> -	int i, cpu;
> +	int i;
>  
>  	if (!zalloc_cpumask_var(&cpu_mask, GFP_KERNEL))
>  		return -ENOMEM;
> @@ -2639,13 +2630,9 @@ static int reset_all_ctrls(struct rdt_resource *r)
>  		for (i = 0; i < hw_res->num_closid; i++)
>  			hw_dom->ctrl_val[i] = r->default_ctrl;
>  	}
> -	cpu = get_cpu();
> -	/* Update CBM on this cpu if it's in cpu_mask. */
> -	if (cpumask_test_cpu(cpu, cpu_mask))
> -		rdt_ctrl_update(&msr_param);
> -	/* Update CBM on all other cpus in cpu_mask. */
> -	smp_call_function_many(cpu_mask, rdt_ctrl_update, &msr_param, 1);
> -	put_cpu();
> +
> +	/* Update CBM on all the CPUs in cpu_mask */
> +	on_each_cpu_mask(cpu_mask, rdt_ctrl_update, &msr_param, 1);
>  
>  	free_cpumask_var(cpu_mask);
>  
> 
> 

Should the snippet in resctrl_arch_update_domains() also be updated?

Reinette

  reply	other threads:[~2022-12-15 18:28 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-01 15:35 [PATCH v9 00/13] Support for AMD QoS new features Babu Moger
2022-12-01 15:36 ` [PATCH v9 01/13] x86/cpufeatures: Add Slow Memory Bandwidth Allocation feature flag Babu Moger
2022-12-15 17:08   ` Reinette Chatre
2022-12-15 21:10     ` Moger, Babu
2022-12-01 15:36 ` [PATCH v9 02/13] x86/resctrl: Add a new resource type RDT_RESOURCE_SMBA Babu Moger
2022-12-15 17:10   ` Reinette Chatre
2022-12-15 21:30     ` Moger, Babu
2022-12-01 15:36 ` [PATCH v9 03/13] x86/cpufeatures: Add Bandwidth Monitoring Event Configuration feature flag Babu Moger
2022-12-15 17:11   ` Reinette Chatre
2022-12-19 15:31     ` Moger, Babu
2022-12-01 15:36 ` [PATCH v9 04/13] x86/resctrl: Include new features in command line options Babu Moger
2022-12-15 17:12   ` Reinette Chatre
2022-12-19 15:33     ` Moger, Babu
2022-12-01 15:36 ` [PATCH v9 05/13] x86/resctrl: Detect and configure Slow Memory Bandwidth Allocation Babu Moger
2022-12-15 17:13   ` Reinette Chatre
2022-12-19 15:34     ` Moger, Babu
2022-12-01 15:36 ` [PATCH v9 06/13] x86/resctrl: Add __init attribute to rdt_get_mon_l3_config() Babu Moger
2022-12-15 17:17   ` Reinette Chatre
2022-12-19 15:51     ` Moger, Babu
2022-12-01 15:36 ` [PATCH v9 07/13] x86/resctrl: Introduce data structure to support monitor configuration Babu Moger
2022-12-15 17:19   ` Reinette Chatre
2022-12-19 17:56     ` Moger, Babu
2022-12-01 15:36 ` [PATCH v9 08/13] x86/resctrl: Add sysfs interface to read mbm_total_bytes_config Babu Moger
2022-12-15 17:40   ` Reinette Chatre
2022-12-19 18:21     ` Moger, Babu
2022-12-01 15:37 ` [PATCH v9 09/13] x86/resctrl: Add sysfs interface to read mbm_local_bytes_config Babu Moger
2022-12-15 17:43   ` Reinette Chatre
2022-12-19 18:27     ` Moger, Babu
2022-12-01 15:37 ` [PATCH v9 10/13] x86/resctrl: Add sysfs interface to write mbm_total_bytes_config Babu Moger
2022-12-15 18:24   ` Reinette Chatre
2022-12-19 19:28     ` Moger, Babu
2022-12-20 17:32       ` Reinette Chatre
2022-12-20 18:58         ` Moger, Babu
2022-12-19 19:50     ` Moger, Babu
2022-12-20 17:32       ` Reinette Chatre
2022-12-20 18:00         ` Moger, Babu
2022-12-01 15:37 ` [PATCH v9 11/13] x86/resctrl: Add sysfs interface to write mbm_local_bytes_config Babu Moger
2022-12-15 18:25   ` Reinette Chatre
2022-12-19 19:51     ` Moger, Babu
2022-12-01 15:37 ` [PATCH v9 12/13] x86/resctrl: Replace smp_call_function_many() with on_each_cpu_mask() Babu Moger
2022-12-15 18:26   ` Reinette Chatre [this message]
2022-12-19 19:59     ` Moger, Babu
2022-12-01 15:37 ` [PATCH v9 13/13] Documentation/x86: Update resctrl.rst for new features Babu Moger
2022-12-15 18:30   ` Reinette Chatre
2022-12-19 20:05     ` Moger, Babu
2022-12-15 15:08 ` [PATCH v9 00/13] Support for AMD QoS " Moger, Babu
2022-12-15 15:35   ` Reinette Chatre
2022-12-15 16:12     ` Moger, Babu
2022-12-15 18:38 ` Reinette Chatre
2022-12-19 20:57   ` 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=27680a78-d9c1-b86b-8aa4-38245d0547d7@intel.com \
    --to=reinette.chatre@intel.com \
    --cc=adrian.hunter@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=babu.moger@amd.com \
    --cc=bagasdotme@gmail.com \
    --cc=bp@alien8.de \
    --cc=chang.seok.bae@intel.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=corbet@lwn.net \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=daniel.sneddon@linux.intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=eranian@google.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=jarkko@kernel.org \
    --cc=jmattson@google.com \
    --cc=jpoimboe@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=paulmck@kernel.org \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=pbonzini@redhat.com \
    --cc=peternewman@google.com \
    --cc=peterz@infradead.org \
    --cc=quic_jiles@quicinc.com \
    --cc=quic_neeraju@quicinc.com \
    --cc=rdunlap@infradead.org \
    --cc=sandipan.das@amd.com \
    --cc=songmuchun@bytedance.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.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.