linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Vikas Shivappa <vikas.shivappa@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org, hpa@zytor.com,
	mingo@kernel.org, tj@kernel.org, peterz@infradead.org,
	matt.fleming@intel.com, will.auld@intel.com,
	glenn.p.williamson@intel.com, kanaka.d.juvva@intel.com,
	priya.v.autee@intel.com
Subject: Re: [PATCH 02/10] x86/intel_cqm: Modify hot cpu notification handling
Date: Wed, 24 Jun 2015 10:14:01 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.11.1506241003120.4037@nanos> (raw)
In-Reply-To: <1435100183-21720-3-git-send-email-vikas.shivappa@linux.intel.com>

On Tue, 23 Jun 2015, Vikas Shivappa wrote:

> This patch modifies hot cpu notification handling in Intel cache
> monitoring:
> 
>  - to add a new cpu to the cqm_cpumask(which has one cpu per package)
>   during cpu start, it uses the existing package<->core map instead of
>   looping through all cpus in cqm_cpumask.
>  - to search for the next online sibling during cpu exit, it uses the
>  cpumask_any_online_but instead of looping through all online cpus.  In
>  large systems with large number of cpus the time taken to loop may be
>  expensive and also the time increase linearly.

Of course, you forgot to mention that you added the mutex around it
and changed the hotplug logic by moving the calls to different hotplug
events. That part wants to be a seperate patch anyway.

>  static int intel_cqm_cpu_notifier(struct notifier_block *nb,
> @@ -1288,15 +1291,13 @@ static int intel_cqm_cpu_notifier(struct notifier_block *nb,
>  	unsigned int cpu  = (unsigned long)hcpu;
>  
>  	switch (action & ~CPU_TASKS_FROZEN) {
> -	case CPU_UP_PREPARE:
> +	case CPU_ONLINE:
>  		intel_cqm_cpu_prepare(cpu);

Are you sure, that calling intel_cqm_cpu_prepare() from cpu_online is
sufficient? If yes, please document that in the changelog.

> +		cqm_pick_event_reader(cpu);
>  		break;
> -	case CPU_DOWN_PREPARE:
> +	case CPU_DEAD:
>  		intel_cqm_cpu_exit(cpu);

That means, the CPU is still set in cqm_cpumask when the CPU is
disfunctional already. So the cpu calls in intel_cqm_rmid_stabilize(),
intel_cqm_event_count(), intel_cqm_xchg_rmid() will not execute on the
package to which the dead cpu belongs.

Are you sure, that this is correct? If yes, please document WHY!

Thanks,

	tglx

  reply	other threads:[~2015-06-24  8:14 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-23 22:56 [PATCH V10 00/10] New cpumask API and Intel Cache Allocation support Vikas Shivappa
2015-06-23 22:56 ` [PATCH 01/10] cpumask: Introduce cpumask_any_online_but Vikas Shivappa
2015-06-24  7:59   ` Thomas Gleixner
2015-06-24 21:11     ` Vikas Shivappa
2015-06-23 22:56 ` [PATCH 02/10] x86/intel_cqm: Modify hot cpu notification handling Vikas Shivappa
2015-06-24  8:14   ` Thomas Gleixner [this message]
2015-06-24 21:13     ` Vikas Shivappa
2015-06-23 22:56 ` [PATCH 03/10] x86/intel_rapl: Modify hot cpu notification handling for RAPL Vikas Shivappa
2015-06-23 22:56 ` [PATCH 04/10] x86/intel_rdt: Cache Allocation documentation and cgroup usage guide Vikas Shivappa
2015-06-23 22:56 ` [PATCH 05/10] x86/intel_rdt: Add support for Cache Allocation detection Vikas Shivappa
2015-06-23 22:56 ` [PATCH 06/10] x86/intel_rdt: Add new cgroup and Class of service management Vikas Shivappa
2015-06-23 22:56 ` [PATCH 07/10] x86/intel_rdt: Add support for cache bit mask management Vikas Shivappa
2015-06-23 22:56 ` [PATCH 08/10] x86/intel_rdt: Implement scheduling support for Intel RDT Vikas Shivappa
2015-06-23 22:56 ` [PATCH 09/10] x86/intel_rdt: Hot cpu support for Cache Allocation Vikas Shivappa
2015-06-24  8:21   ` Thomas Gleixner
2015-06-24 21:15     ` Vikas Shivappa
2015-06-23 22:56 ` [PATCH 10/10] x86/intel_rdt: Intel haswell Cache Allocation enumeration Vikas Shivappa
  -- strict thread matches above, loose matches on Subject: below --
2015-06-12 18:17 [PATCH V9 00/10] New cpumask API and Intel Cache Allocation support Vikas Shivappa
2015-06-12 18:17 ` [PATCH 02/10] x86/intel_cqm: Modify hot cpu notification handling Vikas Shivappa
2015-06-15 12:38   ` Peter Zijlstra
2015-06-15 16:52     ` Vikas Shivappa
2015-06-05  0:01 [PATCH V8 00/10] New cpumask API and Intel Cache Allocation support Vikas Shivappa
2015-06-05  0:01 ` [PATCH 02/10] x86/intel_cqm: Modify hot cpu notification handling Vikas Shivappa
2015-06-03 19:09 [PATCH V8 00/10] New cpumask API and Intel Cache Allocation support Vikas Shivappa
2015-06-03 19:09 ` [PATCH 02/10] x86/intel_cqm: Modify hot cpu notification handling Vikas Shivappa

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=alpine.DEB.2.11.1506241003120.4037@nanos \
    --to=tglx@linutronix.de \
    --cc=glenn.p.williamson@intel.com \
    --cc=hpa@zytor.com \
    --cc=kanaka.d.juvva@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=priya.v.autee@intel.com \
    --cc=tj@kernel.org \
    --cc=vikas.shivappa@linux.intel.com \
    --cc=will.auld@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 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).