summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2019-09-03 04:54:48 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-09-25 08:51:48 -0400
commitff47d86a0d9bf618b185b49cb4bb9c6f957bb445 (patch)
treeacb7743492f2351f7741d77b5a794b6fa459b5a2
parent515dbe48f6202147fb7c88aac48c43f49db1c793 (diff)
libperf: Add perf_evlist__read_format() function
Add the perf_evlist__read_format() function to libperf as internal function. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lore.kernel.org/lkml/20190913132355.21634-30-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/lib/evlist.c7
-rw-r--r--tools/perf/lib/include/internal/evlist.h2
-rw-r--r--tools/perf/util/evlist.c8
-rw-r--r--tools/perf/util/evlist.h1
4 files changed, 10 insertions, 8 deletions
diff --git a/tools/perf/lib/evlist.c b/tools/perf/lib/evlist.c
index 2bdd9d2c79d9..ae861bf38976 100644
--- a/tools/perf/lib/evlist.c
+++ b/tools/perf/lib/evlist.c
@@ -161,3 +161,10 @@ void perf_evlist__disable(struct perf_evlist *evlist)
161 perf_evlist__for_each_entry(evlist, evsel) 161 perf_evlist__for_each_entry(evlist, evsel)
162 perf_evsel__disable(evsel); 162 perf_evsel__disable(evsel);
163} 163}
164
165u64 perf_evlist__read_format(struct perf_evlist *evlist)
166{
167 struct perf_evsel *first = perf_evlist__first(evlist);
168
169 return first->attr.read_format;
170}
diff --git a/tools/perf/lib/include/internal/evlist.h b/tools/perf/lib/include/internal/evlist.h
index 16ae6d6cfb39..63516fe14f4c 100644
--- a/tools/perf/lib/include/internal/evlist.h
+++ b/tools/perf/lib/include/internal/evlist.h
@@ -66,4 +66,6 @@ static inline struct perf_evsel *perf_evlist__last(struct perf_evlist *evlist)
66 return list_entry(evlist->entries.prev, struct perf_evsel, node); 66 return list_entry(evlist->entries.prev, struct perf_evsel, node);
67} 67}
68 68
69u64 perf_evlist__read_format(struct perf_evlist *evlist);
70
69#endif /* __LIBPERF_INTERNAL_EVLIST_H */ 71#endif /* __LIBPERF_INTERNAL_EVLIST_H */
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index e8f0357b1532..bc788192493f 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -503,7 +503,7 @@ int perf_evlist__id_add_fd(struct evlist *evlist,
503 * This way does not work with group format read, so bail 503 * This way does not work with group format read, so bail
504 * out in that case. 504 * out in that case.
505 */ 505 */
506 if (perf_evlist__read_format(evlist) & PERF_FORMAT_GROUP) 506 if (perf_evlist__read_format(&evlist->core) & PERF_FORMAT_GROUP)
507 return -1; 507 return -1;
508 508
509 if (!(evsel->core.attr.read_format & PERF_FORMAT_ID) || 509 if (!(evsel->core.attr.read_format & PERF_FORMAT_ID) ||
@@ -1240,12 +1240,6 @@ bool perf_evlist__valid_read_format(struct evlist *evlist)
1240 return true; 1240 return true;
1241} 1241}
1242 1242
1243u64 perf_evlist__read_format(struct evlist *evlist)
1244{
1245 struct evsel *first = evlist__first(evlist);
1246 return first->core.attr.read_format;
1247}
1248
1249u16 perf_evlist__id_hdr_size(struct evlist *evlist) 1243u16 perf_evlist__id_hdr_size(struct evlist *evlist)
1250{ 1244{
1251 struct evsel *first = evlist__first(evlist); 1245 struct evsel *first = evlist__first(evlist);
diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h
index 6529ad2a9d97..3f89d9913a30 100644
--- a/tools/perf/util/evlist.h
+++ b/tools/perf/util/evlist.h
@@ -217,7 +217,6 @@ int perf_evlist__apply_filters(struct evlist *evlist, struct evsel **err_evsel);
217void __perf_evlist__set_leader(struct list_head *list); 217void __perf_evlist__set_leader(struct list_head *list);
218void perf_evlist__set_leader(struct evlist *evlist); 218void perf_evlist__set_leader(struct evlist *evlist);
219 219
220u64 perf_evlist__read_format(struct evlist *evlist);
221u64 __perf_evlist__combined_sample_type(struct evlist *evlist); 220u64 __perf_evlist__combined_sample_type(struct evlist *evlist);
222u64 perf_evlist__combined_sample_type(struct evlist *evlist); 221u64 perf_evlist__combined_sample_type(struct evlist *evlist);
223u64 perf_evlist__combined_branch_type(struct evlist *evlist); 222u64 perf_evlist__combined_branch_type(struct evlist *evlist);