2019-08-28 14:00:36

by Jiri Olsa

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

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/[email protected]
Signed-off-by: Jiri Olsa <[email protected]>
---
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


Subject: [tip: perf/core] libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h

The following commit has been merged into the perf/core branch of tip:

Commit-ID: fecb410030628d70401e06a98a585d735f61d7e2
Gitweb: https://git.kernel.org/tip/fecb410030628d70401e06a98a585d735f61d7e2
Author: Jiri Olsa <[email protected]>
AuthorDate: Wed, 28 Aug 2019 15:57:01 +02:00
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitterDate: Wed, 28 Aug 2019 18:15:05 -03:00

libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h

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 <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Michael Petlan <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
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 5e6b6d1..c68523c 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 4b6cf89..82315d2 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 a275f2e..aa96674 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -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);