libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h
authorJiri Olsa <jolsa@kernel.org>
Wed, 28 Aug 2019 13:57:01 +0000 (15:57 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 28 Aug 2019 21:15:05 +0000 (18:15 -0300)
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.

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

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 <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190828135717.7245-8-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/lib/include/perf/event.h
tools/perf/util/event.h
tools/perf/util/session.c

index 5e6b6d16793cf985f6aec992373df82c384d06cb..c68523c4fa019009157bc56833075aacb60224d4 100644 (file)
@@ -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 */
index 4b6cf89f31db060b4f2323a1d01d16248f47e609..82315d2845fe9e5bfb69500491283c0b53b2a0b2 100644 (file)
  */
 #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;
index a275f2e15b941b9449e7052f6b1dd5f115e4806d..aa9667424c1c7e7005ab3091c1495e80b9130aba 100644 (file)
@@ -2393,10 +2393,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);