![Wang Nan](/assets/img/avatar_default.png)
This test checks reading from backward ring buffer. Test result: # ~/perf test 'ring buffer' 45: Test backward reading from ring buffer : Ok The test case is a while loop which calls prctl(PR_SET_NAME) multiple times. Each prctl should issue 2 events: one PERF_RECORD_SAMPLE, one PERF_RECORD_COMM. The first round creates a relative large ring buffer (256 pages). It can afford all events. Read from it and check the count of each type of events. The second round creates a small ring buffer (1 page) and makes it overwritable. Check the correctness of the buffer. Signed-off-by: Wang Nan <wangnan0@huawei.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Zefan Li <lizefan@huawei.com> Cc: pi3orama@163.com Link: http://lkml.kernel.org/r/1462758471-89706-3-git-send-email-wangnan0@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
78 lines
2.5 KiB
Plaintext
78 lines
2.5 KiB
Plaintext
perf-y += builtin-test.o
|
|
perf-y += parse-events.o
|
|
perf-y += dso-data.o
|
|
perf-y += attr.o
|
|
perf-y += vmlinux-kallsyms.o
|
|
perf-y += openat-syscall.o
|
|
perf-y += openat-syscall-all-cpus.o
|
|
perf-y += openat-syscall-tp-fields.o
|
|
perf-y += mmap-basic.o
|
|
perf-y += perf-record.o
|
|
perf-y += evsel-roundtrip-name.o
|
|
perf-y += evsel-tp-sched.o
|
|
perf-y += fdarray.o
|
|
perf-y += pmu.o
|
|
perf-y += hists_common.o
|
|
perf-y += hists_link.o
|
|
perf-y += hists_filter.o
|
|
perf-y += hists_output.o
|
|
perf-y += hists_cumulate.o
|
|
perf-y += python-use.o
|
|
perf-y += bp_signal.o
|
|
perf-y += bp_signal_overflow.o
|
|
perf-y += task-exit.o
|
|
perf-y += sw-clock.o
|
|
perf-y += mmap-thread-lookup.o
|
|
perf-y += thread-mg-share.o
|
|
perf-y += switch-tracking.o
|
|
perf-y += keep-tracking.o
|
|
perf-y += code-reading.o
|
|
perf-y += sample-parsing.o
|
|
perf-y += parse-no-sample-id-all.o
|
|
perf-y += kmod-path.o
|
|
perf-y += thread-map.o
|
|
perf-y += llvm.o llvm-src-base.o llvm-src-kbuild.o llvm-src-prologue.o llvm-src-relocation.o
|
|
perf-y += bpf.o
|
|
perf-y += topology.o
|
|
perf-y += cpumap.o
|
|
perf-y += stat.o
|
|
perf-y += event_update.o
|
|
perf-y += event-times.o
|
|
perf-y += backward-ring-buffer.o
|
|
|
|
$(OUTPUT)tests/llvm-src-base.c: tests/bpf-script-example.c tests/Build
|
|
$(call rule_mkdir)
|
|
$(Q)echo '#include <tests/llvm.h>' > $@
|
|
$(Q)echo 'const char test_llvm__bpf_base_prog[] =' >> $@
|
|
$(Q)sed -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/g' $< >> $@
|
|
$(Q)echo ';' >> $@
|
|
|
|
$(OUTPUT)tests/llvm-src-kbuild.c: tests/bpf-script-test-kbuild.c tests/Build
|
|
$(call rule_mkdir)
|
|
$(Q)echo '#include <tests/llvm.h>' > $@
|
|
$(Q)echo 'const char test_llvm__bpf_test_kbuild_prog[] =' >> $@
|
|
$(Q)sed -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/g' $< >> $@
|
|
$(Q)echo ';' >> $@
|
|
|
|
$(OUTPUT)tests/llvm-src-prologue.c: tests/bpf-script-test-prologue.c tests/Build
|
|
$(call rule_mkdir)
|
|
$(Q)echo '#include <tests/llvm.h>' > $@
|
|
$(Q)echo 'const char test_llvm__bpf_test_prologue_prog[] =' >> $@
|
|
$(Q)sed -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/g' $< >> $@
|
|
$(Q)echo ';' >> $@
|
|
|
|
$(OUTPUT)tests/llvm-src-relocation.c: tests/bpf-script-test-relocation.c tests/Build
|
|
$(call rule_mkdir)
|
|
$(Q)echo '#include <tests/llvm.h>' > $@
|
|
$(Q)echo 'const char test_llvm__bpf_test_relocation[] =' >> $@
|
|
$(Q)sed -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/g' $< >> $@
|
|
$(Q)echo ';' >> $@
|
|
|
|
ifeq ($(ARCH),$(filter $(ARCH),x86 arm arm64))
|
|
perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o
|
|
endif
|
|
|
|
CFLAGS_attr.o += -DBINDIR="BUILD_STR($(bindir_SQ))" -DPYTHON="BUILD_STR($(PYTHON_WORD))"
|
|
CFLAGS_python-use.o += -DPYTHONPATH="BUILD_STR($(OUTPUT)python)" -DPYTHON="BUILD_STR($(PYTHON_WORD))"
|
|
CFLAGS_dwarf-unwind.o += -fno-optimize-sibling-calls
|