In order to support usersapce access, an event must be mmapped. While there's already mmap support for evlist, the usecase is a bit different than the self monitoring with userspace access. So let's add new perf_evsel__mmap()/perf_evsel_munmap() functions to mmap/munmap an evsel. This allows implementing userspace access as a fastpath for perf_evsel__read(). The mmapped address is returned by perf_evsel__mmap_base() which primarily for users/tests to check if userspace access is enabled. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Jiri Olsa <jolsa@redhat.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Itaru Kitayama <itaru.kitayama@gmail.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Will Deacon <will@kernel.org> Link: http://lore.kernel.org/lkml/20210414155412.3697605-2-robh@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
55 lines
1.1 KiB
Plaintext
55 lines
1.1 KiB
Plaintext
LIBPERF_0.0.1 {
|
|
global:
|
|
libperf_init;
|
|
perf_cpu_map__dummy_new;
|
|
perf_cpu_map__get;
|
|
perf_cpu_map__put;
|
|
perf_cpu_map__new;
|
|
perf_cpu_map__read;
|
|
perf_cpu_map__nr;
|
|
perf_cpu_map__cpu;
|
|
perf_cpu_map__empty;
|
|
perf_cpu_map__max;
|
|
perf_thread_map__new_dummy;
|
|
perf_thread_map__set_pid;
|
|
perf_thread_map__comm;
|
|
perf_thread_map__nr;
|
|
perf_thread_map__pid;
|
|
perf_thread_map__get;
|
|
perf_thread_map__put;
|
|
perf_evsel__new;
|
|
perf_evsel__delete;
|
|
perf_evsel__enable;
|
|
perf_evsel__disable;
|
|
perf_evsel__open;
|
|
perf_evsel__close;
|
|
perf_evsel__mmap;
|
|
perf_evsel__munmap;
|
|
perf_evsel__mmap_base;
|
|
perf_evsel__read;
|
|
perf_evsel__cpus;
|
|
perf_evsel__threads;
|
|
perf_evsel__attr;
|
|
perf_evlist__new;
|
|
perf_evlist__delete;
|
|
perf_evlist__open;
|
|
perf_evlist__close;
|
|
perf_evlist__enable;
|
|
perf_evlist__disable;
|
|
perf_evlist__add;
|
|
perf_evlist__remove;
|
|
perf_evlist__next;
|
|
perf_evlist__set_maps;
|
|
perf_evlist__poll;
|
|
perf_evlist__mmap;
|
|
perf_evlist__munmap;
|
|
perf_evlist__filter_pollfd;
|
|
perf_evlist__next_mmap;
|
|
perf_mmap__consume;
|
|
perf_mmap__read_init;
|
|
perf_mmap__read_done;
|
|
perf_mmap__read_event;
|
|
local:
|
|
*;
|
|
};
|