libperf: Adopt perf_mmap__put() function from tools/perf
Move perf_mmap__put() from tools/perf to libperf. Once perf_mmap__put() is moved, we need a way to call application related unmap code (AIO and aux related code for eprf), when the map goes away. Add the perf_mmap::unmap callback to do that. The unmap path from perf is: perf_mmap__put (libperf) perf_mmap__munmap (libperf) map->unmap_cb -> perf_mmap__unmap_cb (perf) mmap__munmap (perf) Committer notes: Add missing linux/kernel.h to tools/perf/lib/mmap.c to get the BUG_ON definition. 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-8-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
59d7ea620b
commit
80e53d1148
@@ -197,7 +197,7 @@ static int record__aio_complete(struct mmap *md, struct aiocb *cblock)
|
||||
* every aio write request started in record__aio_push() so
|
||||
* decrement it because the request is now complete.
|
||||
*/
|
||||
perf_mmap__put(md);
|
||||
perf_mmap__put(&md->core);
|
||||
rc = 1;
|
||||
} else {
|
||||
/*
|
||||
@@ -332,7 +332,7 @@ static int record__aio_push(struct record *rec, struct mmap *map, off_t *off)
|
||||
* map->refcount is decremented in record__aio_complete() after
|
||||
* aio write operation finishes successfully.
|
||||
*/
|
||||
perf_mmap__put(map);
|
||||
perf_mmap__put(&map->core);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
Reference in New Issue
Block a user