linux_dsm_epyc7002/tools/perf/tests
Michael Petlan 194cb6b50f perf test: Allow multiple probes in record+script_probe_vfs_getname.sh
Sometimes when adding a kprobe by perf, it results in multiple probe
points, such as the following:

  # ./perf probe -l
    probe:vfs_getname    (on getname_flags:73@fs/namei.c with pathname)
    probe:vfs_getname_1  (on getname_flags:73@fs/namei.c with pathname)
    probe:vfs_getname_2  (on getname_flags:73@fs/namei.c with pathname)
  # cat /sys/kernel/debug/tracing/kprobe_events
  p:probe/vfs_getname _text+5501804 pathname=+0(+0(%gpr31)):string
  p:probe/vfs_getname_1 _text+5505388 pathname=+0(+0(%gpr31)):string
  p:probe/vfs_getname_2 _text+5508396 pathname=+0(+0(%gpr31)):string

In this test, we need to record all of them and expect any of them in
the perf-script output, since it's not clear which one will be used for
the desired syscall:

  # perf stat -e probe:vfs_getname\* -- touch /tmp/nic

   Performance counter stats for 'touch /tmp/nic':

                31      probe:vfs_getname_2
                 0      probe:vfs_getname_1
                 1      probe:vfs_getname
       0.001421826 seconds time elapsed

       0.001506000 seconds user
       0.000000000 seconds sys

If the test relies only on probe:vfs_getname, it might easily miss the
relevant data.

Signed-off-by: Michael Petlan <mpetlan@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
LPU-Reference: 20200722135845.29958-1-mpetlan@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-08-13 09:34:26 -03:00
..
attr
shell perf test: Allow multiple probes in record+script_probe_vfs_getname.sh 2020-08-13 09:34:26 -03:00
.gitignore
api-io.c
attr.c
attr.py
backward-ring-buffer.c
bitmap.c
bp_account.c
bp_signal_overflow.c
bp_signal.c
bpf-script-example.c
bpf-script-test-kbuild.c
bpf-script-test-prologue.c
bpf-script-test-relocation.c
bpf.c
Build
builtin-test.c
clang.c
code-reading.c
cpumap.c
demangle-java-test.c
dso-data.c
dwarf-unwind.c
event_update.c
event-times.c
evsel-roundtrip-name.c
evsel-tp-sched.c
expr.c
fdarray.c
genelf.c
hists_common.c
hists_common.h
hists_cumulate.c
hists_filter.c
hists_link.c
hists_output.c
is_printable_array.c
keep-tracking.c
kmod-path.c
llvm.c
llvm.h
make
maps.c
mem2node.c
mem.c
mmap-basic.c
mmap-thread-lookup.c
openat-syscall-all-cpus.c
openat-syscall-tp-fields.c
openat-syscall.c
parse-events.c
parse-metric.c
parse-no-sample-id-all.c
perf-hooks.c
perf-record.c
perf-targz-src-pkg
pfm.c
pmu-events.c
pmu.c
python-use.c
sample-parsing.c
sdt.c
stat.c
sw-clock.c
switch-tracking.c
task-exit.c
tests.h
thread-map.c
thread-maps-share.c
time-utils-test.c
topology.c
unit_number__scnprintf.c
vmlinux-kallsyms.c
wp.c