History

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.

Ian Rogers committed 2 years ago

Commit 21cc3bc1 parent 1dad99a3 files · +35 −26Browse files

Unified · Split

3 files
  1. tools/perf/Build +2 −2
  2. tools/perf/Makefile.perf +10 −1
  3. tools/perf/bench/Build +23 −23
tools/perf/Build+2−2
@@ -1,4 +1,4 @@
1−perf-y += builtin-bench.o
1+perf-bench-y += builtin-bench.o
22 perf-y += builtin-annotate.o
33 perf-y += builtin-config.o
44 perf-y += builtin-diff.o
@@ -35,7 +35,7 @@ endif · 30 unmodified lines
3535
3636 perf-$(CONFIG_LIBELF) += builtin-probe.o
3737
38−perf-y += bench/
38+perf-bench-y += bench/
3939 perf-test-y += tests/
4040
4141 perf-y += perf.o
tools/perf/Makefile.perf+10−1
@@ -425,6 +425,9 @@ endif · 424 unmodified lines
425425
426426 export PERL_PATH
427427
428+LIBPERF_BENCH_IN := $(OUTPUT)perf-bench-in.o
429+LIBPERF_BENCH := $(OUTPUT)libperf-bench.a
430+
428431 LIBPERF_TEST_IN := $(OUTPUT)perf-test-in.o
429432 LIBPERF_TEST := $(OUTPUT)libperf-test.a
430433
@@ -438,7 +441,7 @@ PERFLIBS = $(LIBAPI) $(LIBPERF) $(LIBSUBCMD) $(LIBSYMBOL) · 7 unmodified lines
438441 ifdef LIBBPF_STATIC
439442 PERFLIBS += $(LIBBPF)
440443 endif
441−PERFLIBS += $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS)
444+PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS)
442445
443446 # We choose to avoid "if .. else if .. else .. endif endif"
444447 # because maintaining the nesting to match is a pain. If
@@ -740,6 +743,12 @@ $(LIBPMU_EVENTS_IN): FORCE prepare · 295 unmodified lines
740743 $(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN)
741744 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<
742745
746+$(LIBPERF_BENCH_IN): FORCE prepare
747+ $(Q)$(MAKE) $(build)=perf-bench
748+
749+$(LIBPERF_BENCH): $(LIBPERF_BENCH_IN)
750+ $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<
751+
743752 $(LIBPERF_TEST_IN): FORCE prepare
744753 $(Q)$(MAKE) $(build)=perf-test
745754
tools/perf/bench/Build+23−23
@@ -1,25 +1,25 @@
1−perf-y += sched-messaging.o
2−perf-y += sched-pipe.o
3−perf-y += sched-seccomp-notify.o
4−perf-y += syscall.o
5−perf-y += mem-functions.o
6−perf-y += futex-hash.o
7−perf-y += futex-wake.o
8−perf-y += futex-wake-parallel.o
9−perf-y += futex-requeue.o
10−perf-y += futex-lock-pi.o
11−perf-y += epoll-wait.o
12−perf-y += epoll-ctl.o
13−perf-y += synthesize.o
14−perf-y += kallsyms-parse.o
15−perf-y += find-bit-bench.o
16−perf-y += inject-buildid.o
17−perf-y += evlist-open-close.o
18−perf-y += breakpoint.o
19−perf-y += pmu-scan.o
20−perf-y += uprobe.o
1+perf-bench-y += sched-messaging.o
2+perf-bench-y += sched-pipe.o
3+perf-bench-y += sched-seccomp-notify.o
4+perf-bench-y += syscall.o
5+perf-bench-y += mem-functions.o
6+perf-bench-y += futex-hash.o
7+perf-bench-y += futex-wake.o
8+perf-bench-y += futex-wake-parallel.o
9+perf-bench-y += futex-requeue.o
10+perf-bench-y += futex-lock-pi.o
11+perf-bench-y += epoll-wait.o
12+perf-bench-y += epoll-ctl.o
13+perf-bench-y += synthesize.o
14+perf-bench-y += kallsyms-parse.o
15+perf-bench-y += find-bit-bench.o
16+perf-bench-y += inject-buildid.o
17+perf-bench-y += evlist-open-close.o
18+perf-bench-y += breakpoint.o
19+perf-bench-y += pmu-scan.o
20+perf-bench-y += uprobe.o
2121
22−perf-$(CONFIG_X86_64) += mem-memcpy-x86-64-asm.o
23−perf-$(CONFIG_X86_64) += mem-memset-x86-64-asm.o
22+perf-bench-$(CONFIG_X86_64) += mem-memcpy-x86-64-asm.o
23+perf-bench-$(CONFIG_X86_64) += mem-memset-x86-64-asm.o
2424
25−perf-$(CONFIG_NUMA) += numa.o
25+perf-bench-$(CONFIG_NUMA) += numa.o