perf tests: Handle throttle events in 'object code reading' test
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 12 Nov 2013 07:59:33 +0000 (09:59 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 12 Nov 2013 19:37:54 +0000 (16:37 -0300)
Unhandled events cause an error that fails the test, fix it.

Reported-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/5281DFE5.3000909@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/code-reading.c

index 6d9dc19..85d4919 100644 (file)
@@ -275,8 +275,19 @@ static int process_event(struct machine *machine, struct perf_evlist *evlist,
        if (event->header.type == PERF_RECORD_SAMPLE)
                return process_sample_event(machine, evlist, event, state);
 
-       if (event->header.type < PERF_RECORD_MAX)
-               return machine__process_event(machine, event, NULL);
+       if (event->header.type == PERF_RECORD_THROTTLE ||
+           event->header.type == PERF_RECORD_UNTHROTTLE)
+               return 0;
+
+       if (event->header.type < PERF_RECORD_MAX) {
+               int ret;
+
+               ret = machine__process_event(machine, event, NULL);
+               if (ret < 0)
+                       pr_debug("machine__process_event failed, event type %u\n",
+                                event->header.type);
+               return ret;
+       }
 
        return 0;
 }