Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

perf test: Make tests its own library

Make the tests code its own library. This is done to avoid compiling
code twice, once for the perf tool and once for the perf python
module.

Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: James Clark <james.clark@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Nick Terrell <terrelln@fb.com>
Cc: Gary Guo <gary@garyguo.net>
Cc: Alex Gaynor <alex.gaynor@gmail.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Wedson Almeida Filho <wedsonaf@gmail.com>
Cc: Ze Gao <zegao2021@gmail.com>
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: Andrei Vagin <avagin@google.com>
Cc: Yicong Yang <yangyicong@hisilicon.com>
Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: Guo Ren <guoren@kernel.org>
Cc: Miguel Ojeda <ojeda@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linux.dev>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Benno Lossin <benno.lossin@proton.me>
Cc: Björn Roy Baron <bjorn3_gh@protonmail.com>
Cc: Andreas Hindborg <a.hindborg@samsung.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240625214117.953777-5-irogers@google.com

authored by

Ian Rogers and committed by
Namhyung Kim
1dad99af 49f4ac4b

+115 -104
+2 -1
tools/perf/Build
··· 36 36 perf-$(CONFIG_LIBELF) += builtin-probe.o 37 37 38 38 perf-y += bench/ 39 - perf-y += tests/ 39 + perf-test-y += tests/ 40 40 41 41 perf-y += perf.o 42 42 ··· 55 55 56 56 perf-y += util/ 57 57 perf-y += arch/ 58 + perf-test-y += arch/ 58 59 perf-ui-y += ui/ 59 60 perf-y += scripts/ 60 61
+10 -1
tools/perf/Makefile.perf
··· 425 425 426 426 export PERL_PATH 427 427 428 + LIBPERF_TEST_IN := $(OUTPUT)perf-test-in.o 429 + LIBPERF_TEST := $(OUTPUT)libperf-test.a 430 + 428 431 LIBPERF_UI_IN := $(OUTPUT)perf-ui-in.o 429 432 LIBPERF_UI := $(OUTPUT)libperf-ui.a 430 433 ··· 438 435 ifdef LIBBPF_STATIC 439 436 PERFLIBS += $(LIBBPF) 440 437 endif 441 - PERFLIBS += $(LIBPERF_UI) $(LIBPMU_EVENTS) 438 + PERFLIBS += $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS) 442 439 443 440 # We choose to avoid "if .. else if .. else .. endif endif" 444 441 # because maintaining the nesting to match is a pain. If ··· 738 735 $(Q)$(MAKE) -f $(srctree)/tools/build/Makefile.build dir=pmu-events obj=pmu-events 739 736 740 737 $(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN) 738 + $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $< 739 + 740 + $(LIBPERF_TEST_IN): FORCE prepare 741 + $(Q)$(MAKE) $(build)=perf-test 742 + 743 + $(LIBPERF_TEST): $(LIBPERF_TEST_IN) 741 744 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $< 742 745 743 746 $(LIBPERF_UI_IN): FORCE prepare
+1
tools/perf/arch/Build
··· 1 1 perf-y += common.o 2 2 perf-y += $(SRCARCH)/ 3 + perf-test-y += $(SRCARCH)/
+1 -1
tools/perf/arch/arm/Build
··· 1 1 perf-y += util/ 2 - perf-$(CONFIG_DWARF_UNWIND) += tests/ 2 + perf-test-$(CONFIG_DWARF_UNWIND) += tests/
+4 -4
tools/perf/arch/arm/tests/Build
··· 1 - perf-y += regs_load.o 2 - perf-y += dwarf-unwind.o 3 - perf-y += vectors-page.o 1 + perf-test-y += regs_load.o 2 + perf-test-y += dwarf-unwind.o 3 + perf-test-y += vectors-page.o 4 4 5 - perf-y += arch-tests.o 5 + perf-test-y += arch-tests.o
+1 -1
tools/perf/arch/arm64/Build
··· 1 1 perf-y += util/ 2 - perf-y += tests/ 2 + perf-test-y += tests/
+4 -4
tools/perf/arch/arm64/tests/Build
··· 1 - perf-y += regs_load.o 2 - perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 1 + perf-test-y += regs_load.o 2 + perf-test-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 3 3 4 - perf-y += arch-tests.o 5 - perf-y += cpuid-match.o 4 + perf-test-y += arch-tests.o 5 + perf-test-y += cpuid-match.o
+1 -1
tools/perf/arch/powerpc/Build
··· 1 1 perf-y += util/ 2 - perf-y += tests/ 2 + perf-test-y += tests/
+3 -3
tools/perf/arch/powerpc/tests/Build
··· 1 - perf-$(CONFIG_DWARF_UNWIND) += regs_load.o 2 - perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 1 + perf-test-$(CONFIG_DWARF_UNWIND) += regs_load.o 2 + perf-test-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 3 3 4 - perf-y += arch-tests.o 4 + perf-test-y += arch-tests.o
+2 -2
tools/perf/arch/x86/Build
··· 1 1 perf-y += util/ 2 - perf-y += tests/ 2 + perf-test-y += tests/ 3 3 4 4 ifdef SHELLCHECK 5 5 SHELL_TESTS := entry/syscalls/syscalltbl.sh ··· 13 13 $(call rule_mkdir) 14 14 $(Q)$(call echo-cmd,test)shellcheck -a -S warning "$<" > $@ || (cat $@ && rm $@ && false) 15 15 16 - perf-y += $(TEST_LOGS) 16 + perf-test-y += $(TEST_LOGS)
+10 -10
tools/perf/arch/x86/tests/Build
··· 1 - perf-$(CONFIG_DWARF_UNWIND) += regs_load.o 2 - perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 1 + perf-test-$(CONFIG_DWARF_UNWIND) += regs_load.o 2 + perf-test-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 3 3 4 - perf-y += arch-tests.o 5 - perf-y += sample-parsing.o 6 - perf-y += hybrid.o 7 - perf-$(CONFIG_AUXTRACE) += intel-pt-test.o 4 + perf-test-y += arch-tests.o 5 + perf-test-y += sample-parsing.o 6 + perf-test-y += hybrid.o 7 + perf-test-$(CONFIG_AUXTRACE) += intel-pt-test.o 8 8 ifeq ($(CONFIG_EXTRA_TESTS),y) 9 - perf-$(CONFIG_AUXTRACE) += insn-x86.o 9 + perf-test-$(CONFIG_AUXTRACE) += insn-x86.o 10 10 endif 11 - perf-$(CONFIG_X86_64) += bp-modify.o 12 - perf-y += amd-ibs-via-core-pmu.o 11 + perf-test-$(CONFIG_X86_64) += bp-modify.o 12 + perf-test-y += amd-ibs-via-core-pmu.o 13 13 14 14 ifdef SHELLCHECK 15 15 SHELL_TESTS := gen-insn-x86-dat.sh ··· 23 23 $(call rule_mkdir) 24 24 $(Q)$(call echo-cmd,test)shellcheck -a -S warning "$<" > $@ || (cat $@ && rm $@ && false) 25 25 26 - perf-y += $(TEST_LOGS) 26 + perf-test-y += $(TEST_LOGS)
+70 -70
tools/perf/tests/Build
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 - perf-y += builtin-test.o 4 - perf-y += tests-scripts.o 5 - perf-y += parse-events.o 6 - perf-y += dso-data.o 7 - perf-y += attr.o 8 - perf-y += vmlinux-kallsyms.o 9 - perf-$(CONFIG_LIBTRACEEVENT) += openat-syscall.o 10 - perf-$(CONFIG_LIBTRACEEVENT) += openat-syscall-all-cpus.o 11 - perf-$(CONFIG_LIBTRACEEVENT) += openat-syscall-tp-fields.o 12 - perf-$(CONFIG_LIBTRACEEVENT) += mmap-basic.o 13 - perf-y += perf-record.o 14 - perf-y += evsel-roundtrip-name.o 15 - perf-$(CONFIG_LIBTRACEEVENT) += evsel-tp-sched.o 16 - perf-y += fdarray.o 17 - perf-y += pmu.o 18 - perf-y += pmu-events.o 19 - perf-y += hists_common.o 20 - perf-y += hists_link.o 21 - perf-y += hists_filter.o 22 - perf-y += hists_output.o 23 - perf-y += hists_cumulate.o 24 - perf-y += python-use.o 25 - perf-y += bp_signal.o 26 - perf-y += bp_signal_overflow.o 27 - perf-y += bp_account.o 28 - perf-y += wp.o 29 - perf-y += task-exit.o 30 - perf-y += sw-clock.o 31 - perf-y += mmap-thread-lookup.o 32 - perf-y += thread-maps-share.o 33 - perf-$(CONFIG_LIBTRACEEVENT) += switch-tracking.o 34 - perf-y += keep-tracking.o 35 - perf-y += code-reading.o 36 - perf-y += sample-parsing.o 37 - perf-y += parse-no-sample-id-all.o 38 - perf-y += kmod-path.o 39 - perf-y += thread-map.o 40 - perf-y += topology.o 41 - perf-y += mem.o 42 - perf-y += cpumap.o 43 - perf-y += stat.o 44 - perf-y += event_update.o 45 - perf-y += event-times.o 46 - perf-y += expr.o 47 - perf-y += backward-ring-buffer.o 48 - perf-y += sdt.o 49 - perf-y += is_printable_array.o 50 - perf-y += bitmap.o 51 - perf-y += perf-hooks.o 52 - perf-y += unit_number__scnprintf.o 53 - perf-y += mem2node.o 54 - perf-y += maps.o 55 - perf-y += time-utils-test.o 56 - perf-y += genelf.o 57 - perf-y += api-io.o 58 - perf-y += demangle-java-test.o 59 - perf-y += demangle-ocaml-test.o 60 - perf-y += pfm.o 61 - perf-y += parse-metric.o 62 - perf-y += pe-file-parsing.o 63 - perf-y += expand-cgroup.o 64 - perf-y += perf-time-to-tsc.o 65 - perf-y += dlfilter-test.o 66 - perf-y += sigtrap.o 67 - perf-y += event_groups.o 68 - perf-y += symbols.o 69 - perf-y += util.o 3 + perf-test-y += builtin-test.o 4 + perf-test-y += tests-scripts.o 5 + perf-test-y += parse-events.o 6 + perf-test-y += dso-data.o 7 + perf-test-y += attr.o 8 + perf-test-y += vmlinux-kallsyms.o 9 + perf-test-$(CONFIG_LIBTRACEEVENT) += openat-syscall.o 10 + perf-test-$(CONFIG_LIBTRACEEVENT) += openat-syscall-all-cpus.o 11 + perf-test-$(CONFIG_LIBTRACEEVENT) += openat-syscall-tp-fields.o 12 + perf-test-$(CONFIG_LIBTRACEEVENT) += mmap-basic.o 13 + perf-test-y += perf-record.o 14 + perf-test-y += evsel-roundtrip-name.o 15 + perf-test-$(CONFIG_LIBTRACEEVENT) += evsel-tp-sched.o 16 + perf-test-y += fdarray.o 17 + perf-test-y += pmu.o 18 + perf-test-y += pmu-events.o 19 + perf-test-y += hists_common.o 20 + perf-test-y += hists_link.o 21 + perf-test-y += hists_filter.o 22 + perf-test-y += hists_output.o 23 + perf-test-y += hists_cumulate.o 24 + perf-test-y += python-use.o 25 + perf-test-y += bp_signal.o 26 + perf-test-y += bp_signal_overflow.o 27 + perf-test-y += bp_account.o 28 + perf-test-y += wp.o 29 + perf-test-y += task-exit.o 30 + perf-test-y += sw-clock.o 31 + perf-test-y += mmap-thread-lookup.o 32 + perf-test-y += thread-maps-share.o 33 + perf-test-$(CONFIG_LIBTRACEEVENT) += switch-tracking.o 34 + perf-test-y += keep-tracking.o 35 + perf-test-y += code-reading.o 36 + perf-test-y += sample-parsing.o 37 + perf-test-y += parse-no-sample-id-all.o 38 + perf-test-y += kmod-path.o 39 + perf-test-y += thread-map.o 40 + perf-test-y += topology.o 41 + perf-test-y += mem.o 42 + perf-test-y += cpumap.o 43 + perf-test-y += stat.o 44 + perf-test-y += event_update.o 45 + perf-test-y += event-times.o 46 + perf-test-y += expr.o 47 + perf-test-y += backward-ring-buffer.o 48 + perf-test-y += sdt.o 49 + perf-test-y += is_printable_array.o 50 + perf-test-y += bitmap.o 51 + perf-test-y += perf-hooks.o 52 + perf-test-y += unit_number__scnprintf.o 53 + perf-test-y += mem2node.o 54 + perf-test-y += maps.o 55 + perf-test-y += time-utils-test.o 56 + perf-test-y += genelf.o 57 + perf-test-y += api-io.o 58 + perf-test-y += demangle-java-test.o 59 + perf-test-y += demangle-ocaml-test.o 60 + perf-test-y += pfm.o 61 + perf-test-y += parse-metric.o 62 + perf-test-y += pe-file-parsing.o 63 + perf-test-y += expand-cgroup.o 64 + perf-test-y += perf-time-to-tsc.o 65 + perf-test-y += dlfilter-test.o 66 + perf-test-y += sigtrap.o 67 + perf-test-y += event_groups.o 68 + perf-test-y += symbols.o 69 + perf-test-y += util.o 70 70 71 71 ifeq ($(SRCARCH),$(filter $(SRCARCH),x86 arm arm64 powerpc)) 72 - perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 72 + perf-test-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o 73 73 endif 74 74 75 75 CFLAGS_attr.o += -DBINDIR="BUILD_STR($(bindir_SQ))" -DPYTHON="BUILD_STR($(PYTHON_WORD))" 76 76 CFLAGS_python-use.o += -DPYTHONPATH="BUILD_STR($(OUTPUT)python)" -DPYTHON="BUILD_STR($(PYTHON_WORD))" 77 77 CFLAGS_dwarf-unwind.o += -fno-optimize-sibling-calls 78 78 79 - perf-y += workloads/ 79 + perf-test-y += workloads/ 80 80 81 81 ifdef SHELLCHECK 82 82 SHELL_TESTS := $(shell find tests/shell -executable -type f -name '*.sh') ··· 90 90 $(call rule_mkdir) 91 91 $(Q)$(call echo-cmd,test)shellcheck -a -S warning "$<" > $@ || (cat $@ && rm $@ && false) 92 92 93 - perf-y += $(TEST_LOGS) 93 + perf-test-y += $(TEST_LOGS)
+6 -6
tools/perf/tests/workloads/Build
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 - perf-y += noploop.o 4 - perf-y += thloop.o 5 - perf-y += leafloop.o 6 - perf-y += sqrtloop.o 7 - perf-y += brstack.o 8 - perf-y += datasym.o 3 + perf-test-y += noploop.o 4 + perf-test-y += thloop.o 5 + perf-test-y += leafloop.o 6 + perf-test-y += sqrtloop.o 7 + perf-test-y += brstack.o 8 + perf-test-y += datasym.o 9 9 10 10 CFLAGS_sqrtloop.o = -g -O0 -fno-inline -U_FORTIFY_SOURCE 11 11 CFLAGS_leafloop.o = -g -O0 -fno-inline -fno-omit-frame-pointer -U_FORTIFY_SOURCE