public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 2/2] x86, perf,cqm: handle CPU hotplug
@ 2015-06-18 18:49 Kanaka Juvva
  2015-06-18 19:47 ` Thomas Gleixner
  0 siblings, 1 reply; 5+ messages in thread
From: Kanaka Juvva @ 2015-06-18 18:49 UTC (permalink / raw)
  To: kanaka.d.juvva, glenn.p.williamson, matt.fleming, will.auld, andi,
	ananth.s.narayan, linux-kernel, andrew.j.herdrich, tony.luck,
	peterz, tglx, x86, mingo, hpa, luto, dvlasenk, bp, dave.hansen,
	peter.p.waskiewicz.jr, imammedo, bp, ross.zwisler, jacob.w.shin,
	dirk.j.brandewie, vikas.shivappa, edwin.verplanke,
	tomasz.kantecki

Added lock in event reader function. The cqm_pick_event_reader() function
accesses cqm_cpumask and it is critical section between this and
cqm_stable().

This situation is true when a CPU is hotplugged. Mutex is used to protect
the critical section.

Signed-off-by: Kanaka Juvva <kanaka.d.juvva@linux.intel.com>
---
 arch/x86/kernel/cpu/perf_event_intel_cqm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/perf_event_intel_cqm.c b/arch/x86/kernel/cpu/perf_event_intel_cqm.c
index 1880761..e17e37f 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_cqm.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_cqm.c
@@ -1239,12 +1239,15 @@ static inline void cqm_pick_event_reader(int cpu)
 	int phys_id = topology_physical_package_id(cpu);
 	int i;
 
+	mutex_lock(&cache_mutex);
 	for_each_cpu(i, &cqm_cpumask) {
 		if (phys_id == topology_physical_package_id(i))
-			return;	/* already got reader for this socket */
+			goto out; /* already got reader for this socket */
 	}
 
 	cpumask_set_cpu(cpu, &cqm_cpumask);
+out:
+	mutex_unlock(&cache_mutex);
 }
 
 static void intel_cqm_cpu_prepare(unsigned int cpu)
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-06-23 20:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-18 18:49 [PATCH v1 2/2] x86, perf,cqm: handle CPU hotplug Kanaka Juvva
2015-06-18 19:47 ` Thomas Gleixner
2015-06-18 20:00   ` Dave Hansen
2015-06-18 20:09     ` Thomas Gleixner
2015-06-23 20:32   ` Vikas Shivappa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox