Move definition of reader to session header file to be shared
among different source files. Introduce reference to active
reader object from session object.

Signed-off-by: Alexey Budankov <alexey.budan...@linux.intel.com>
---
 tools/perf/util/session.c | 27 ---------------------------
 tools/perf/util/session.h | 25 +++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 27 deletions(-)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 6f09d506b2f6..911b2dbcd0ac 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -2110,33 +2110,6 @@ static int __perf_session__process_decomp_events(struct 
perf_session *session)
        return 0;
 }
 
-/*
- * On 64bit we can mmap the data file in one go. No need for tiny mmap
- * slices. On 32bit we use 32MB.
- */
-#if BITS_PER_LONG == 64
-#define MMAP_SIZE ULLONG_MAX
-#define NUM_MMAPS 1
-#else
-#define MMAP_SIZE (32 * 1024 * 1024ULL)
-#define NUM_MMAPS 128
-#endif
-
-struct reader;
-
-typedef s64 (*reader_cb_t)(struct perf_session *session,
-                          union perf_event *event,
-                          u64 file_offset,
-                          const char *file_path);
-
-struct reader {
-       int              fd;
-       const char       *path;
-       u64              data_size;
-       u64              data_offset;
-       reader_cb_t      process;
-};
-
 static int
 reader__process_events(struct reader *rd, struct perf_session *session,
                       struct ui_progress *prog)
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index 378ffc3e2809..abdb8518a81f 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -20,6 +20,30 @@ struct thread;
 struct auxtrace;
 struct itrace_synth_opts;
 
+/*
+ * On 64bit we can mmap the data file in one go. No need for tiny mmap
+ * slices. On 32bit we use 32MB.
+ */
+#if BITS_PER_LONG == 64
+#define MMAP_SIZE ULLONG_MAX
+#define NUM_MMAPS 1
+#else
+#define MMAP_SIZE (32 * 1024 * 1024ULL)
+#define NUM_MMAPS 128
+#endif
+
+typedef s64 (*reader_cb_t)(struct perf_session *session,
+                          union perf_event *event,
+                          u64 file_offset, const char *file_path);
+
+struct reader {
+       int              fd;
+       const char       *path;
+       u64              data_size;
+       u64              data_offset;
+       reader_cb_t      process;
+};
+
 struct perf_session {
        struct perf_header      header;
        struct machines         machines;
@@ -41,6 +65,7 @@ struct perf_session {
        struct zstd_data        zstd_data;
        struct decomp           *decomp;
        struct decomp           *decomp_last;
+       struct reader           *reader;
 };
 
 struct decomp {
-- 
2.24.1


Reply via email to