RE: [PATCH V3 04/12] perf mmap: introduce perf_mmap__read_done

From: Liang, Kan
Date: Thu Jan 11 2018 - 16:27:31 EST


> On Thu, Dec 21, 2017 at 10:08:46AM -0800, kan.liang@xxxxxxxxx wrote:
> > From: Kan Liang <kan.liang@xxxxxxxxx>
> >
> > The direction of overwrite mode is backward. The last mmap__read_event
> > will set tail to map->prev. Need to correct the map->prev to head which
> > is the end of next read.
> >
> > It will be used later.
> >
> > Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
> > ---
> > tools/perf/util/mmap.c | 11 +++++++++++
> > tools/perf/util/mmap.h | 1 +
> > 2 files changed, 12 insertions(+)
> >
> > diff --git a/tools/perf/util/mmap.c b/tools/perf/util/mmap.c
> > index a844a2f..4aaeb64 100644
> > --- a/tools/perf/util/mmap.c
> > +++ b/tools/perf/util/mmap.c
> > @@ -343,3 +343,14 @@ int perf_mmap__push(struct perf_mmap *md,
> bool overwrite,
> > out:
> > return rc;
> > }
> > +
> > +/*
> > + * Mandatory for overwrite mode
> > + * The direction of overwrite mode is backward.
> > + * The last mmap__read_event will set tail to map->prev.
>
> you mean perf_mmap__read function in this comment, right?
>

Right.
Will fix it in V4.

Thanks,
Kan

> jirka
>
> > + * Need to correct the map->prev to head which is the end of next read.
> > + */
> > +void perf_mmap__read_done(struct perf_mmap *map)
> > +{
> > + map->prev = perf_mmap__read_head(map);
> > +}
> > diff --git a/tools/perf/util/mmap.h b/tools/perf/util/mmap.h
> > index abe9b9f..2df27c1 100644
> > --- a/tools/perf/util/mmap.h
> > +++ b/tools/perf/util/mmap.h
> > @@ -96,4 +96,5 @@ size_t perf_mmap__mmap_len(struct perf_mmap
> *map);
> >
> > int perf_mmap__read_init(struct perf_mmap *map, bool overwrite,
> > u64 *start, u64 *end);
> > +void perf_mmap__read_done(struct perf_mmap *map);
> > #endif /*__PERF_MMAP_H */
> > --
> > 2.5.5
> >