On Thu, 12 Dec 2019 at 07:05, Andrii Nakryiko andriin@fb.com wrote:
This patch set fixes perf_buffer__new() behavior on systems which have some of the CPUs offline/missing (due to difference between "possible" and "online" sets). perf_buffer will create per-CPU buffer and open/attach to corresponding perf_event only on CPUs present and online at the moment of perf_buffer creation. Without this logic, perf_buffer creation has no chances of succeeding on such systems, preventing valid and correct BPF applications from starting.
Andrii Nakryiko (4): libbpf: extract and generalize CPU mask parsing logic selftests/bpf: add CPU mask parsing tests libbpf: don't attach perf_buffer to offline/missing CPUs
perf build failed on stable-rc 5.5 branch.
libbpf.c: In function '__perf_buffer__new': libbpf.c:6159:8: error: implicit declaration of function 'parse_cpu_mask_file'; did you mean 'parse_uint_from_file'? [-Werror=implicit-function-declaration] err = parse_cpu_mask_file(online_cpus_file, &online, &n); ^~~~~~~~~~~~~~~~~~~ parse_uint_from_file libbpf.c:6159:8: error: nested extern declaration of 'parse_cpu_mask_file' [-Werror=nested-externs]
build log, https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-stable-rc-5.5/DI...