* [GIT pull] perf fixes for 4.1
@ 2015-07-26 9:33 Thomas Gleixner
0 siblings, 0 replies; only message in thread
From: Thomas Gleixner @ 2015-07-26 9:33 UTC (permalink / raw)
To: Linus Torvalds; +Cc: LKML, akom, Ingo Molnar, H. Peter Anvin
Linus,
please pull the latest perf-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-urgent-for-linus
A single fix for the intel cqm perf facility to prevent IPIs from
interrupt context.
Thanks,
tglx
------------------>
Matt Fleming (1):
perf/x86/intel/cqm: Return cached counter value from IRQ context
arch/x86/kernel/cpu/perf_event_intel_cqm.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/x86/kernel/cpu/perf_event_intel_cqm.c b/arch/x86/kernel/cpu/perf_event_intel_cqm.c
index 188076161c1b..63eb68b73589 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_cqm.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_cqm.c
@@ -952,6 +952,14 @@ static u64 intel_cqm_event_count(struct perf_event *event)
return 0;
/*
+ * Getting up-to-date values requires an SMP IPI which is not
+ * possible if we're being called in interrupt context. Return
+ * the cached values instead.
+ */
+ if (unlikely(in_interrupt()))
+ goto out;
+
+ /*
* Notice that we don't perform the reading of an RMID
* atomically, because we can't hold a spin lock across the
* IPIs.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-07-26 9:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-26 9:33 [GIT pull] perf fixes for 4.1 Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®