Commit e75710f0 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

libperf: Adopt perf_mmap__get() function from tools/perf

Move perf_mmap__get() from tools/perf to libperf in the internal header
internal/mmap.h.
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20191007125344.14268-6-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 32c261c0
...@@ -293,7 +293,7 @@ static int record__aio_pushfn(struct mmap *map, void *to, void *buf, size_t size ...@@ -293,7 +293,7 @@ static int record__aio_pushfn(struct mmap *map, void *to, void *buf, size_t size
* after started aio request completion or at record__aio_push() * after started aio request completion or at record__aio_push()
* if the request failed to start. * if the request failed to start.
*/ */
perf_mmap__get(map); perf_mmap__get(&map->core);
} }
aio->size += size; aio->size += size;
......
...@@ -39,5 +39,6 @@ size_t perf_mmap__mmap_len(struct perf_mmap *map); ...@@ -39,5 +39,6 @@ size_t perf_mmap__mmap_len(struct perf_mmap *map);
void perf_mmap__init(struct perf_mmap *map, bool overwrite); void perf_mmap__init(struct perf_mmap *map, bool overwrite);
int perf_mmap__mmap(struct perf_mmap *map, struct perf_mmap_param *mp, int perf_mmap__mmap(struct perf_mmap *map, struct perf_mmap_param *mp,
int fd, int cpu); int fd, int cpu);
void perf_mmap__get(struct perf_mmap *map);
#endif /* __LIBPERF_INTERNAL_MMAP_H */ #endif /* __LIBPERF_INTERNAL_MMAP_H */
...@@ -31,3 +31,8 @@ int perf_mmap__mmap(struct perf_mmap *map, struct perf_mmap_param *mp, ...@@ -31,3 +31,8 @@ int perf_mmap__mmap(struct perf_mmap *map, struct perf_mmap_param *mp,
map->cpu = cpu; map->cpu = cpu;
return 0; return 0;
} }
void perf_mmap__get(struct perf_mmap *map)
{
refcount_inc(&map->refcnt);
}
...@@ -701,7 +701,7 @@ static int evlist__mmap_per_evsel(struct evlist *evlist, int idx, ...@@ -701,7 +701,7 @@ static int evlist__mmap_per_evsel(struct evlist *evlist, int idx,
if (ioctl(fd, PERF_EVENT_IOC_SET_OUTPUT, *output) != 0) if (ioctl(fd, PERF_EVENT_IOC_SET_OUTPUT, *output) != 0)
return -1; return -1;
perf_mmap__get(&maps[idx]); perf_mmap__get(&maps[idx].core);
} }
revent = perf_evlist__should_poll(evlist, evsel) ? POLLIN : 0; revent = perf_evlist__should_poll(evlist, evsel) ? POLLIN : 0;
......
...@@ -110,11 +110,6 @@ static bool perf_mmap__empty(struct mmap *map) ...@@ -110,11 +110,6 @@ static bool perf_mmap__empty(struct mmap *map)
return perf_mmap__read_head(map) == map->core.prev && !map->auxtrace_mmap.base; return perf_mmap__read_head(map) == map->core.prev && !map->auxtrace_mmap.base;
} }
void perf_mmap__get(struct mmap *map)
{
refcount_inc(&map->core.refcnt);
}
void perf_mmap__put(struct mmap *map) void perf_mmap__put(struct mmap *map)
{ {
BUG_ON(map->core.base && refcount_read(&map->core.refcnt) == 0); BUG_ON(map->core.base && refcount_read(&map->core.refcnt) == 0);
......
...@@ -45,7 +45,6 @@ struct mmap_params { ...@@ -45,7 +45,6 @@ struct mmap_params {
int mmap__mmap(struct mmap *map, struct mmap_params *mp, int fd, int cpu); int mmap__mmap(struct mmap *map, struct mmap_params *mp, int fd, int cpu);
void perf_mmap__munmap(struct mmap *map); void perf_mmap__munmap(struct mmap *map);
void perf_mmap__get(struct mmap *map);
void perf_mmap__put(struct mmap *map); void perf_mmap__put(struct mmap *map);
void perf_mmap__consume(struct mmap *map); void perf_mmap__consume(struct mmap *map);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment