aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2016-02-04 16:38:10 +0100
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2016-02-13 00:36:33 +0100
commitd3a0b1907290fe7c364432f8df2cae1e81fd2823 (patch)
treeef268d765803d16a1748514a0a9bed25c2681ae3
parent5e6e6ada262f704a657d7edc986271ff46506341 (diff)
downloadrt-linux-d3a0b1907290fe7c364432f8df2cae1e81fd2823.tar.gz
kernel/perf: mark perf_cpu_context's timer as irqsafe
Otherwise we get a WARN_ON() backtrace and some events are reported as "not counted". Cc: stable-rt@vger.kernel.org Reported-by: Yang Shi <yang.shi@linaro.org> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-rw-r--r--kernel/events/core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 6430e415b7e64..fa32b9b7721d5 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -802,6 +802,7 @@ static void __perf_mux_hrtimer_init(struct perf_cpu_context *cpuctx, int cpu)
raw_spin_lock_init(&cpuctx->hrtimer_lock);
hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED);
timer->function = perf_mux_hrtimer_handler;
+ timer->irqsafe = 1;
}
static int perf_mux_hrtimer_restart(struct perf_cpu_context *cpuctx)