[PATCH 07/23] libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h

Jiri Olsa
2019-08-28T13:58:55Z

Move the PERF_RECORD_ID_INDEX event definition to libperf's event.h.

In order to keep libperf simple, we switch 'u64/u32/u16/u8'
types used events to their generic '__u*' versions.

Adding PRI_ld64 define, so we can use it in printf output.

Link: http://lkml.kernel.org/n/tip-rfqlci30hjrzropnxjnwoz12@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/perf/lib/include/perf/event.h | 13 +++++++++++++
tools/perf/util/event.h | 15 ++-------------
tools/perf/util/session.c | 8 ++++----
3 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/tools/perf/lib/include/perf/event.h b/tools/perf/lib/include/perf/event.h
index 5e6b6d16793c..c68523c4fa01 100644
--- a/tools/perf/lib/include/perf/event.h
+++ b/tools/perf/lib/include/perf/event.h
@@ -188,4 +188,17 @@ struct build_id_event {
char filename[];
};

+struct id_index_entry {
+ __u64 id;
+ __u64 idx;
+ __u64 cpu;
+ __u64 tid;
+};
+
+struct id_index_event {
+ struct perf_event_header header;
+ __u64 nr;
+ struct id_index_entry entries[0];
+};
+
#endif /* __LIBPERF_EVENT_H */
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
index 4b6cf89f31db..82315d2845fe 100644
--- a/tools/perf/util/event.h
+++ b/tools/perf/util/event.h
@@ -22,9 +22,11 @@
*/
#define PRI_lu64 "l" PRIu64
#define PRI_lx64 "l" PRIx64
+#define PRI_ld64 "l" PRId64
#else
#define PRI_lu64 PRIu64
#define PRI_lx64 PRIx64
+#define PRI_ld64 PRId64
#endif

#define PERF_SAMPLE_MASK \
@@ -330,19 +332,6 @@ struct events_stats {
u32 nr_proc_map_timeout;
};

-struct id_index_entry {
- u64 id;
- u64 idx;
- u64 cpu;
- u64 tid;
-};
-
-struct id_index_event {
- struct perf_event_header header;
- u64 nr;
- struct id_index_entry entries[0];
-};
-
struct auxtrace_info_event {
struct perf_event_header header;
u32 type;
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 5786e9c807c5..daa8aed27eae 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -2392,10 +2392,10 @@ int perf_event__process_id_index(struct perf_session *session,
struct perf_sample_id *sid;

if (dump_trace) {
- fprintf(stdout, " ... id: %"PRIu64, e->id);
- fprintf(stdout, " idx: %"PRIu64, e->idx);
- fprintf(stdout, " cpu: %"PRId64, e->cpu);
- fprintf(stdout, " tid: %"PRId64"\n", e->tid);
+ fprintf(stdout, " ... id: %"PRI_lu64, e->id);
+ fprintf(stdout, " idx: %"PRI_lu64, e->idx);
+ fprintf(stdout, " cpu: %"PRI_ld64, e->cpu);
+ fprintf(stdout, " tid: %"PRI_ld64"\n", e->tid);
}

sid = perf_evlist__id2sid(evlist, e->id);
--
2.21.0