[PATCH tip/rt/head] perf: Mark software events as irqsafe

From: Arnaldo Carvalho de Melo
Date: Mon Oct 18 2010 - 15:43:41 EST


From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>

Noticed while using 'perf top' on a machine without a supported PMU on
2.6.33.7-rt29, when top falls back to using the "cpu-clock" software
event.

Reproduced on other machines where the problem was masked due to the
existence and use of hardware events, by explicitely asking for a
software event using:

perf top -e cpu-clock

Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>

diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 6dfaf5b..b9fbc17 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4238,6 +4238,7 @@ static void perf_swevent_start_hrtimer(struct perf_event *event)
struct hw_perf_event *hwc = &event->hw;

hrtimer_init(&hwc->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+ hwc->hrtimer.irqsafe = 1;
hwc->hrtimer.function = perf_swevent_hrtimer;
if (hwc->sample_period) {
u64 period;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/