2019-08-28 13:59:29

by Jiri Olsa

[permalink] [raw]
Subject: [PATCH 16/23] libperf: Add PERF_RECORD_STAT 'struct stat_event' to perf/event.h

Move the PERF_RECORD_STAT 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.

Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Jiri Olsa <[email protected]>
---
tools/perf/lib/include/perf/event.h | 17 +++++++++++++++++
tools/perf/util/event.h | 17 -----------------
tools/perf/util/stat.c | 4 ++--
3 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/tools/perf/lib/include/perf/event.h b/tools/perf/lib/include/perf/event.h
index ba6ed243a31f..7d1834f558d6 100644
--- a/tools/perf/lib/include/perf/event.h
+++ b/tools/perf/lib/include/perf/event.h
@@ -282,4 +282,21 @@ struct stat_config_event {
struct stat_config_event_entry data[];
};

+struct stat_event {
+ struct perf_event_header header;
+
+ __u64 id;
+ __u32 cpu;
+ __u32 thread;
+
+ union {
+ struct {
+ __u64 val;
+ __u64 ena;
+ __u64 run;
+ };
+ __u64 values[3];
+ };
+};
+
#endif /* __LIBPERF_EVENT_H */
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
index 68531d08dcec..f3a02e01852a 100644
--- a/tools/perf/util/event.h
+++ b/tools/perf/util/event.h
@@ -332,23 +332,6 @@ struct events_stats {
u32 nr_proc_map_timeout;
};

-struct stat_event {
- struct perf_event_header header;
-
- u64 id;
- u32 cpu;
- u32 thread;
-
- union {
- struct {
- u64 val;
- u64 ena;
- u64 run;
- };
- u64 values[3];
- };
-};
-
enum {
PERF_STAT_ROUND_TYPE__INTERVAL = 0,
PERF_STAT_ROUND_TYPE__FINAL = 1,
diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c
index f985336b3a22..c0cd9f9bb0ea 100644
--- a/tools/perf/util/stat.c
+++ b/tools/perf/util/stat.c
@@ -405,9 +405,9 @@ size_t perf_event__fprintf_stat(union perf_event *event, FILE *fp)
struct stat_event *st = (struct stat_event *) event;
size_t ret;

- ret = fprintf(fp, "\n... id %" PRIu64 ", cpu %d, thread %d\n",
+ ret = fprintf(fp, "\n... id %" PRI_lu64 ", cpu %d, thread %d\n",
st->id, st->cpu, st->thread);
- ret += fprintf(fp, "... value %" PRIu64 ", enabled %" PRIu64 ", running %" PRIu64 "\n",
+ ret += fprintf(fp, "... value %" PRI_lu64 ", enabled %" PRI_lu64 ", running %" PRI_lu64 "\n",
st->val, st->ena, st->run);

return ret;
--
2.21.0


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

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

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

libperf: Add PERF_RECORD_STAT 'struct stat_event' to perf/event.h

Move the PERF_RECORD_STAT 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.

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 | 17 +++++++++++++++++
tools/perf/util/event.h | 17 -----------------
tools/perf/util/stat.c | 4 ++--
3 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/tools/perf/lib/include/perf/event.h b/tools/perf/lib/include/perf/event.h
index ba6ed24..7d1834f 100644
--- a/tools/perf/lib/include/perf/event.h
+++ b/tools/perf/lib/include/perf/event.h
@@ -282,4 +282,21 @@ struct stat_config_event {
struct stat_config_event_entry data[];
};

+struct stat_event {
+ struct perf_event_header header;
+
+ __u64 id;
+ __u32 cpu;
+ __u32 thread;
+
+ union {
+ struct {
+ __u64 val;
+ __u64 ena;
+ __u64 run;
+ };
+ __u64 values[3];
+ };
+};
+
#endif /* __LIBPERF_EVENT_H */
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
index 68531d0..f3a02e0 100644
--- a/tools/perf/util/event.h
+++ b/tools/perf/util/event.h
@@ -332,23 +332,6 @@ struct events_stats {
u32 nr_proc_map_timeout;
};

-struct stat_event {
- struct perf_event_header header;
-
- u64 id;
- u32 cpu;
- u32 thread;
-
- union {
- struct {
- u64 val;
- u64 ena;
- u64 run;
- };
- u64 values[3];
- };
-};
-
enum {
PERF_STAT_ROUND_TYPE__INTERVAL = 0,
PERF_STAT_ROUND_TYPE__FINAL = 1,
diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c
index f985336..c0cd9f9 100644
--- a/tools/perf/util/stat.c
+++ b/tools/perf/util/stat.c
@@ -405,9 +405,9 @@ size_t perf_event__fprintf_stat(union perf_event *event, FILE *fp)
struct stat_event *st = (struct stat_event *) event;
size_t ret;

- ret = fprintf(fp, "\n... id %" PRIu64 ", cpu %d, thread %d\n",
+ ret = fprintf(fp, "\n... id %" PRI_lu64 ", cpu %d, thread %d\n",
st->id, st->cpu, st->thread);
- ret += fprintf(fp, "... value %" PRIu64 ", enabled %" PRIu64 ", running %" PRIu64 "\n",
+ ret += fprintf(fp, "... value %" PRI_lu64 ", enabled %" PRI_lu64 ", running %" PRI_lu64 "\n",
st->val, st->ena, st->run);

return ret;