On Thu, Oct 22, 2020 at 12:59 AM Alexey Budankov
<alexey.budan...@linux.intel.com> wrote:
>
>
> 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>

Acked-by: Namhyung Kim <namhy...@kernel.org>

Thanks
Namhyung

> ---
>  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