summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/string2.h
diff options
context:
space:
mode:
authorAndi Kleen2017-08-12 01:26:19 +0200
committerArnaldo Carvalho de Melo2017-08-22 16:56:22 +0200
commit77d0871c76bad1093a3d86870fe76dd1ad0ca397 (patch)
treef068067a0318f18deb598297941cd6336e6d46bd /tools/perf/util/string2.h
parentperf evsel: Fix buffer overflow while freeing events (diff)
downloadkernel-qcow2-linux-77d0871c76bad1093a3d86870fe76dd1ad0ca397.tar.gz
kernel-qcow2-linux-77d0871c76bad1093a3d86870fe76dd1ad0ca397.tar.xz
kernel-qcow2-linux-77d0871c76bad1093a3d86870fe76dd1ad0ca397.zip
perf bpf: Tighten detection of BPF events
perf stat -e cpu/uops_executed.core,cmask=1/ would be detected as a BPF source event because the .c matches the .c source BPF pattern. v2: Originally I tried to use lex lookahead, but it doesn't seem to work. This now extends the BPF pattern to match longer events, but then does an extra check in the C code to reject BPF matches that do not end with .c/.o/.obj This uses REJECT, which makes the flex scanner slower, but that shouldn't be a big problem for the perf events. Committer testing: # perf trace -e write -e /home/acme/bpf/tracepoint.c cat /etc/passwd > /dev/null 0.000 ( 0.006 ms): cat/18485 write(fd: 1, buf: 0x7f59eebe1000, count: 3494 ) ... 0.006 ( ): raw_syscalls:sys_enter:NR 1 (1, 7f59eebe1000, da6, 22, 7f59eebe0010, 0)) 0.008 ( ): perf_bpf_probe:_write:(ffffffff9626b2c0)) 0.000 ( 0.010 ms): cat/18485 ... [continued]: write()) = 3494 # It continues doing what was expected, i.e. identifying /home/acme/bpf/tracepoint.c as a BPF event and activates the clang machinery to build an eBPF object and then uses sys_bpf() to hook it up to the raw_syscalls:sys_enter tracepoint, etc. Andi forgot to add Wang to the CC list, fix it. Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/20170811232634.30465-4-andi@firstfloor.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/string2.h')
0 files changed, 0 insertions, 0 deletions