diff options
author | Jiri Olsa <jolsa@kernel.org> | 2019-10-07 14:53:12 +0200 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2019-10-10 09:42:59 -0300 |
commit | 32c261c070c222858148c2171698d2954242ddd9 (patch) | |
tree | 55857b0480de830196787e7eb0db6c12b66992ab /tools/perf/lib/mmap.c | |
parent | bf59b3053e63783520c2810fc3f676553bc7eedd (diff) | |
download | linux-32c261c070c222858148c2171698d2954242ddd9.tar.gz linux-32c261c070c222858148c2171698d2954242ddd9.tar.bz2 linux-32c261c070c222858148c2171698d2954242ddd9.zip |
libperf: Adopt perf_mmap__mmap() function from tools/perf
Move perf_mmap__mmap() from tools/perf to libperf, it will be used in
the following patches. And rename the existing perf's function to
mmap__mmap().
Signed-off-by: Jiri 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-5-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/lib/mmap.c')
-rw-r--r-- | tools/perf/lib/mmap.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/perf/lib/mmap.c b/tools/perf/lib/mmap.c index cc4284da4d99..b216a7db857f 100644 --- a/tools/perf/lib/mmap.c +++ b/tools/perf/lib/mmap.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include <sys/mman.h> #include <internal/mmap.h> #include <internal/lib.h> @@ -13,3 +14,20 @@ size_t perf_mmap__mmap_len(struct perf_mmap *map) { return map->mask + 1 + page_size; } + +int perf_mmap__mmap(struct perf_mmap *map, struct perf_mmap_param *mp, + int fd, int cpu) +{ + map->prev = 0; + map->mask = mp->mask; + map->base = mmap(NULL, perf_mmap__mmap_len(map), mp->prot, + MAP_SHARED, fd, 0); + if (map->base == MAP_FAILED) { + map->base = NULL; + return -1; + } + + map->fd = fd; + map->cpu = cpu; + return 0; +} |