]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
perf: Handle stopped state with tracepoints
authorFrederic Weisbecker <fweisbec@gmail.com>
Mon, 7 Mar 2011 20:27:09 +0000 (21:27 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Mar 2011 20:16:52 +0000 (13:16 -0700)
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

index 183d437f4a0fb7c5ad96ad82ae3f6d28333e52e1..f9af60f30adfb5dc245c85227f20b7cd1cc83d1a 100644 (file)
@@ -4167,6 +4167,8 @@ static void tp_perf_event_destroy(struct perf_event *event)
 
 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.