Commit 21cc3bc0 authored by Ian Rogers's avatar Ian Rogers Committed by Namhyung Kim

perf bench: Make bench its own library

Make the benchmark code into a library so it may be linked against
things like the python module to avoid compiling code twice.
Signed-off-by: default avatarIan Rogers <irogers@google.com>
Reviewed-by: default avatarJames 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: default avatarNamhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240625214117.953777-6-irogers@google.com
parent 1dad99af
perf-y += builtin-bench.o perf-bench-y += builtin-bench.o
perf-y += builtin-annotate.o perf-y += builtin-annotate.o
perf-y += builtin-config.o perf-y += builtin-config.o
perf-y += builtin-diff.o perf-y += builtin-diff.o
...@@ -35,7 +35,7 @@ endif ...@@ -35,7 +35,7 @@ endif
perf-$(CONFIG_LIBELF) += builtin-probe.o perf-$(CONFIG_LIBELF) += builtin-probe.o
perf-y += bench/ perf-bench-y += bench/
perf-test-y += tests/ perf-test-y += tests/
perf-y += perf.o perf-y += perf.o
......
...@@ -425,6 +425,9 @@ endif ...@@ -425,6 +425,9 @@ endif
export PERL_PATH export PERL_PATH
LIBPERF_BENCH_IN := $(OUTPUT)perf-bench-in.o
LIBPERF_BENCH := $(OUTPUT)libperf-bench.a
LIBPERF_TEST_IN := $(OUTPUT)perf-test-in.o LIBPERF_TEST_IN := $(OUTPUT)perf-test-in.o
LIBPERF_TEST := $(OUTPUT)libperf-test.a LIBPERF_TEST := $(OUTPUT)libperf-test.a
...@@ -438,7 +441,7 @@ PERFLIBS = $(LIBAPI) $(LIBPERF) $(LIBSUBCMD) $(LIBSYMBOL) ...@@ -438,7 +441,7 @@ PERFLIBS = $(LIBAPI) $(LIBPERF) $(LIBSUBCMD) $(LIBSYMBOL)
ifdef LIBBPF_STATIC ifdef LIBBPF_STATIC
PERFLIBS += $(LIBBPF) PERFLIBS += $(LIBBPF)
endif endif
PERFLIBS += $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS) PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS)
# We choose to avoid "if .. else if .. else .. endif endif" # We choose to avoid "if .. else if .. else .. endif endif"
# because maintaining the nesting to match is a pain. If # because maintaining the nesting to match is a pain. If
...@@ -740,6 +743,12 @@ $(LIBPMU_EVENTS_IN): FORCE prepare ...@@ -740,6 +743,12 @@ $(LIBPMU_EVENTS_IN): FORCE prepare
$(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN) $(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN)
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $< $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<
$(LIBPERF_BENCH_IN): FORCE prepare
$(Q)$(MAKE) $(build)=perf-bench
$(LIBPERF_BENCH): $(LIBPERF_BENCH_IN)
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<
$(LIBPERF_TEST_IN): FORCE prepare $(LIBPERF_TEST_IN): FORCE prepare
$(Q)$(MAKE) $(build)=perf-test $(Q)$(MAKE) $(build)=perf-test
......
perf-y += sched-messaging.o perf-bench-y += sched-messaging.o
perf-y += sched-pipe.o perf-bench-y += sched-pipe.o
perf-y += sched-seccomp-notify.o perf-bench-y += sched-seccomp-notify.o
perf-y += syscall.o perf-bench-y += syscall.o
perf-y += mem-functions.o perf-bench-y += mem-functions.o
perf-y += futex-hash.o perf-bench-y += futex-hash.o
perf-y += futex-wake.o perf-bench-y += futex-wake.o
perf-y += futex-wake-parallel.o perf-bench-y += futex-wake-parallel.o
perf-y += futex-requeue.o perf-bench-y += futex-requeue.o
perf-y += futex-lock-pi.o perf-bench-y += futex-lock-pi.o
perf-y += epoll-wait.o perf-bench-y += epoll-wait.o
perf-y += epoll-ctl.o perf-bench-y += epoll-ctl.o
perf-y += synthesize.o perf-bench-y += synthesize.o
perf-y += kallsyms-parse.o perf-bench-y += kallsyms-parse.o
perf-y += find-bit-bench.o perf-bench-y += find-bit-bench.o
perf-y += inject-buildid.o perf-bench-y += inject-buildid.o
perf-y += evlist-open-close.o perf-bench-y += evlist-open-close.o
perf-y += breakpoint.o perf-bench-y += breakpoint.o
perf-y += pmu-scan.o perf-bench-y += pmu-scan.o
perf-y += uprobe.o perf-bench-y += uprobe.o
perf-$(CONFIG_X86_64) += mem-memcpy-x86-64-asm.o perf-bench-$(CONFIG_X86_64) += mem-memcpy-x86-64-asm.o
perf-$(CONFIG_X86_64) += mem-memset-x86-64-asm.o perf-bench-$(CONFIG_X86_64) += mem-memset-x86-64-asm.o
perf-$(CONFIG_NUMA) += numa.o perf-bench-$(CONFIG_NUMA) += numa.o
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment