diff options
author | David Ahern <[email protected]> | 2013-08-07 22:50:58 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <[email protected]> | 2013-08-12 10:31:08 -0300 |
commit | 93ea01c29d4ed5a9fcf6d9a95bc584e54a420834 (patch) | |
tree | e3b3bbc8162d23c0fd47d5303274d31c9f8e4994 | |
parent | 307cbb92aa2bdc9eed7c74409ff4d5fc9135b4e2 (diff) |
perf session: Change perf_session__has_traces to actually check for tracepoints
Any event can have RAW data attribute set. The intent of the function is
to determine if the session has tracepoints, so check for the type of
each event explicitly.
Signed-off-by: David Ahern <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
-rw-r--r-- | tools/perf/util/session.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 5a8996493d94..4d9028eef34a 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -1401,12 +1401,15 @@ int perf_session__process_events(struct perf_session *self, bool perf_session__has_traces(struct perf_session *session, const char *msg) { - if (!(perf_evlist__sample_type(session->evlist) & PERF_SAMPLE_RAW)) { - pr_err("No trace sample to read. Did you call 'perf %s'?\n", msg); - return false; + struct perf_evsel *evsel; + + list_for_each_entry(evsel, &session->evlist->entries, node) { + if (evsel->attr.type == PERF_TYPE_TRACEPOINT) + return true; } - return true; + pr_err("No trace sample to read. Did you call 'perf %s'?\n", msg); + return false; } int maps__set_kallsyms_ref_reloc_sym(struct map **maps, |