This patchset adds a high-level API for setting up and polling perf buffers associated with BPF_MAP_TYPE_PERF_EVENT_ARRAY map. Details of APIs are described in corresponding commit. Patch #1 adds a set of APIs to set up and work with perf buffer. Patch #2 enhances libbpf to supprot auto-setting PERF_EVENT_ARRAY map size. Patch #3 adds test. Andrii Nakryiko (3): libbpf: add perf buffer API libbpf: auto-set PERF_EVENT_ARRAY size to number of CPUs selftests/bpf: test perf buffer API tools/lib/bpf/libbpf.c | 299 +++++++++++++++++- tools/lib/bpf/libbpf.h | 12 + tools/lib/bpf/libbpf.map | 5 +- .../selftests/bpf/prog_tests/perf_buffer.c | 86 +++++ .../selftests/bpf/progs/test_perf_buffer.c | 29 ++ 5 files changed, 429 insertions(+), 2 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/perf_buffer.c create mode 100644 tools/testing/selftests/bpf/progs/test_perf_buffer.c -- 2.17.1