Messages in this thread | | | From | Namhyung Kim <> | Date | Wed, 30 Jun 2021 13:12:17 -0700 | Subject | Re: [PATCH 4/4] perf stat: Enable BPF counter with --for-each-cgroup |
| |
Hi Arnaldo,
On Wed, Jun 30, 2021 at 11:50 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote: > > Em Fri, Jun 25, 2021 at 12:18:26AM -0700, Namhyung Kim escreveu: > > Recently bperf was added to use BPF to count perf events for various > > purposes. This is an extension for the approach and targetting to > > cgroup usages. > > > > Unlike the other bperf, it doesn't share the events with other > > processes but it'd reduce unnecessary events (and the overhead of > > multiplexing) for each monitored cgroup within the perf session. > > > > When --for-each-cgroup is used with --bpf-counters, it will open > > cgroup-switches event per cpu internally and attach the new BPF > > program to read given perf_events and to aggregate the results for > > cgroups. It's only called when task is switched to a task in a > > different cgroup. > > I'll take a stab at fixing these:
Oops, sorry about that. My build environment didn't catch this.. Will fix it in the v5.
Thanks, Namhyung
> > ⬢[acme@toolbox perf]$ make -k CORESIGHT=1 BUILD_BPF_SKEL=1 PYTHON=python3 DEBUG=1 O=/tmp/build/perf -C tools/perf install-bin > make: Entering directory '/var/home/acme/git/perf/tools/perf' > BUILD: Doing 'make -j24' parallel build > Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h' > diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h > Warning: Kernel ABI header at 'tools/include/uapi/linux/mount.h' differs from latest version at 'include/uapi/linux/mount.h' > diff -u tools/include/uapi/linux/mount.h include/uapi/linux/mount.h > Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h' > diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h > Warning: Kernel ABI header at 'tools/arch/x86/include/asm/msr-index.h' differs from latest version at 'arch/x86/include/asm/msr-index.h' > diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h > Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h' > diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h > Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/svm.h' differs from latest version at 'arch/x86/include/uapi/asm/svm.h' > diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h > Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h' > diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h > DESCEND plugins > GEN /tmp/build/perf/python/perf.so > INSTALL trace_plugins > CC /tmp/build/perf/util/bpf_counter_cgroup.o > CC /tmp/build/perf/util/demangle-java.o > CC /tmp/build/perf/util/demangle-rust.o > CC /tmp/build/perf/util/jitdump.o > CC /tmp/build/perf/util/genelf.o > CC /tmp/build/perf/util/genelf_debug.o > CC /tmp/build/perf/util/perf-hooks.o > CC /tmp/build/perf/util/bpf-event.o > util/bpf_counter_cgroup.c: In function ‘bperf_load_program’: > util/bpf_counter_cgroup.c:96:23: error: comparison of integer expressions of different signedness: ‘__u32’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare] > 96 | for (i = 0; i < nr_cpus; i++) { > | ^ > util/bpf_counter_cgroup.c:125:43: error: comparison of integer expressions of different signedness: ‘__u32’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare] > 125 | for (cpu = 0; cpu < nr_cpus; cpu++) { > | ^ > util/bpf_counter_cgroup.c: In function ‘bperf_cgrp__load’: > util/bpf_counter_cgroup.c:178:65: error: unused parameter ‘target’ [-Werror=unused-parameter] > 178 | static int bperf_cgrp__load(struct evsel *evsel, struct target *target) > | ~~~~~~~~~~~~~~~^~~~~~ > util/bpf_counter_cgroup.c: In function ‘bperf_cgrp__install_pe’: > util/bpf_counter_cgroup.c:195:49: error: unused parameter ‘evsel’ [-Werror=unused-parameter] > 195 | static int bperf_cgrp__install_pe(struct evsel *evsel, int cpu, int fd) > | ~~~~~~~~~~~~~~^~~~~ > util/bpf_counter_cgroup.c:195:60: error: unused parameter ‘cpu’ [-Werror=unused-parameter] > 195 | static int bperf_cgrp__install_pe(struct evsel *evsel, int cpu, int fd) > | ~~~~^~~ > util/bpf_counter_cgroup.c:195:69: error: unused parameter ‘fd’ [-Werror=unused-parameter] > 195 | static int bperf_cgrp__install_pe(struct evsel *evsel, int cpu, int fd) > | ~~~~^~ > util/bpf_counter_cgroup.c: In function ‘bperf_cgrp__enable’: > util/bpf_counter_cgroup.c:219:45: error: unused parameter ‘evsel’ [-Werror=unused-parameter] > 219 | static int bperf_cgrp__enable(struct evsel *evsel) > | ~~~~~~~~~~~~~~^~~~~ > cc1: all warnings being treated as errors > make[4]: *** [/var/home/acme/git/perf/tools/build/Makefile.build:96: /tmp/build/perf/util/bpf_counter_cgroup.o] Error 1 > make[4]: *** Waiting for unfinished jobs.... > make[3]: *** [/var/home/acme/git/perf/tools/build/Makefile.build:139: util] Error 2 > make[2]: *** [Makefile.perf:655: /tmp/build/perf/perf-in.o] Error 2 > make[1]: *** [Makefile.perf:238: sub-make] Error 2 > make: *** [Makefile:113: install-bin] Error 2 > make: Leaving directory '/var/home/acme/git/perf/tools/perf' > ⬢[acme@toolbox perf]$
| |