| From a0f7d0f7fc02465bb9758501f611f63381792996 Mon Sep 17 00:00:00 2001 |
| From: Frederic Weisbecker <fweisbec@gmail.com> |
| Date: Mon, 7 Mar 2011 21:27:09 +0100 |
| Subject: perf: Handle stopped state with tracepoints |
| |
| From: Frederic Weisbecker <fweisbec@gmail.com> |
| |
| commit a0f7d0f7fc02465bb9758501f611f63381792996 upstream. |
| |
| We toggle the state from start and stop callbacks but actually |
| don't check it when the event triggers. Do it so that |
| these callbacks actually work. |
| |
| Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> |
| Cc: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Cc: Paul Mackerras <paulus@samba.org> |
| Cc: Stephane Eranian <eranian@google.com> |
| Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> |
| LKML-Reference: <1299529629-18280-2-git-send-email-fweisbec@gmail.com> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| kernel/perf_event.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/kernel/perf_event.c |
| +++ b/kernel/perf_event.c |
| @@ -4167,6 +4167,8 @@ static void tp_perf_event_destroy(struct |
| |
| static const struct pmu *tp_perf_event_init(struct perf_event *event) |
| { |
| + if (event->hw.state & PERF_HES_STOPPED) |
| + return 0; |
| /* |
| * Raw tracepoint data is a severe data leak, only allow root to |
| * have these. |