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 @@
1perf-y += builtin-bench.o1perf-bench-y += builtin-bench.o
2perf-y += builtin-annotate.o2perf-y += builtin-annotate.o
3perf-y += builtin-config.o3perf-y += builtin-config.o
4perf-y += builtin-diff.o4perf-y += builtin-diff.o
@@ -35,7 +35,7 @@ endif · 30 unmodified lines
35 35
36perf-$(CONFIG_LIBELF) += builtin-probe.o36perf-$(CONFIG_LIBELF) += builtin-probe.o
37 37
38perf-y += bench/38perf-bench-y += bench/
39perf-test-y += tests/39perf-test-y += tests/
40 40
41perf-y += perf.o41perf-y += perf.o
tools/perf/Makefile.perf+10−1
@@ -425,6 +425,9 @@ endif · 424 unmodified lines
425 425
426export PERL_PATH426export PERL_PATH
427 427
428LIBPERF_BENCH_IN := $(OUTPUT)perf-bench-in.o
429LIBPERF_BENCH := $(OUTPUT)libperf-bench.a
430
428LIBPERF_TEST_IN := $(OUTPUT)perf-test-in.o431LIBPERF_TEST_IN := $(OUTPUT)perf-test-in.o
429LIBPERF_TEST := $(OUTPUT)libperf-test.a432LIBPERF_TEST := $(OUTPUT)libperf-test.a
430 433
@@ -438,7 +441,7 @@ PERFLIBS = $(LIBAPI) $(LIBPERF) $(LIBSUBCMD) $(LIBSYMBOL) · 7 unmodified lines
438ifdef LIBBPF_STATIC441ifdef LIBBPF_STATIC
439 PERFLIBS += $(LIBBPF)442 PERFLIBS += $(LIBBPF)
440endif443endif
441PERFLIBS += $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS)444PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS)
442 445
443# We choose to avoid "if .. else if .. else .. endif endif"446# We choose to avoid "if .. else if .. else .. endif endif"
444# because maintaining the nesting to match is a pain. If447# because maintaining the nesting to match is a pain. If
@@ -740,6 +743,12 @@ $(LIBPMU_EVENTS_IN): FORCE prepare · 295 unmodified lines
740$(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN)743$(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN)
741 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<744 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<
742 745
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
743$(LIBPERF_TEST_IN): FORCE prepare752$(LIBPERF_TEST_IN): FORCE prepare
744 $(Q)$(MAKE) $(build)=perf-test753 $(Q)$(MAKE) $(build)=perf-test
745 754
tools/perf/bench/Build+23−23
@@ -1,25 +1,25 @@
1perf-y += sched-messaging.o1perf-bench-y += sched-messaging.o
2perf-y += sched-pipe.o2perf-bench-y += sched-pipe.o
3perf-y += sched-seccomp-notify.o3perf-bench-y += sched-seccomp-notify.o
4perf-y += syscall.o4perf-bench-y += syscall.o
5perf-y += mem-functions.o5perf-bench-y += mem-functions.o
6perf-y += futex-hash.o6perf-bench-y += futex-hash.o
7perf-y += futex-wake.o7perf-bench-y += futex-wake.o
8perf-y += futex-wake-parallel.o8perf-bench-y += futex-wake-parallel.o
9perf-y += futex-requeue.o9perf-bench-y += futex-requeue.o
10perf-y += futex-lock-pi.o10perf-bench-y += futex-lock-pi.o
11perf-y += epoll-wait.o11perf-bench-y += epoll-wait.o
12perf-y += epoll-ctl.o12perf-bench-y += epoll-ctl.o
13perf-y += synthesize.o13perf-bench-y += synthesize.o
14perf-y += kallsyms-parse.o14perf-bench-y += kallsyms-parse.o
15perf-y += find-bit-bench.o15perf-bench-y += find-bit-bench.o
16perf-y += inject-buildid.o16perf-bench-y += inject-buildid.o
17perf-y += evlist-open-close.o17perf-bench-y += evlist-open-close.o
18perf-y += breakpoint.o18perf-bench-y += breakpoint.o
19perf-y += pmu-scan.o19perf-bench-y += pmu-scan.o
20perf-y += uprobe.o20perf-bench-y += uprobe.o
21 21
22perf-$(CONFIG_X86_64) += mem-memcpy-x86-64-asm.o22perf-bench-$(CONFIG_X86_64) += mem-memcpy-x86-64-asm.o
23perf-$(CONFIG_X86_64) += mem-memset-x86-64-asm.o23perf-bench-$(CONFIG_X86_64) += mem-memset-x86-64-asm.o
24 24
25perf-$(CONFIG_NUMA) += numa.o25perf-bench-$(CONFIG_NUMA) += numa.o