Make the benchmark code into a library so it may be linked against things like the python module to avoid compiling code twice.
Unified · Split
| @@ -1,4 +1,4 @@ | ||
| 1 | −perf-y += builtin-bench.o | |
| 1 | +perf-bench-y += builtin-bench.o | |
| 2 | 2 | perf-y += builtin-annotate.o |
| 3 | 3 | perf-y += builtin-config.o |
| 4 | 4 | perf-y += builtin-diff.o |
| @@ -35,7 +35,7 @@ endif · 30 unmodified lines | ||
| 35 | 35 | |
| 36 | 36 | perf-$(CONFIG_LIBELF) += builtin-probe.o |
| 37 | 37 | |
| 38 | −perf-y += bench/ | |
| 38 | +perf-bench-y += bench/ | |
| 39 | 39 | perf-test-y += tests/ |
| 40 | 40 | |
| 41 | 41 | perf-y += perf.o |
| @@ -425,6 +425,9 @@ endif · 424 unmodified lines | ||
| 425 | 425 | |
| 426 | 426 | export PERL_PATH |
| 427 | 427 | |
| 428 | +LIBPERF_BENCH_IN := $(OUTPUT)perf-bench-in.o | |
| 429 | +LIBPERF_BENCH := $(OUTPUT)libperf-bench.a | |
| 430 | + | |
| 428 | 431 | LIBPERF_TEST_IN := $(OUTPUT)perf-test-in.o |
| 429 | 432 | LIBPERF_TEST := $(OUTPUT)libperf-test.a |
| 430 | 433 | |
| @@ -438,7 +441,7 @@ PERFLIBS = $(LIBAPI) $(LIBPERF) $(LIBSUBCMD) $(LIBSYMBOL) · 7 unmodified lines | ||
| 438 | 441 | ifdef LIBBPF_STATIC |
| 439 | 442 | PERFLIBS += $(LIBBPF) |
| 440 | 443 | endif |
| 441 | −PERFLIBS += $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS) | |
| 444 | +PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS) | |
| 442 | 445 | |
| 443 | 446 | # We choose to avoid "if .. else if .. else .. endif endif" |
| 444 | 447 | # because maintaining the nesting to match is a pain. If |
| @@ -740,6 +743,12 @@ $(LIBPMU_EVENTS_IN): FORCE prepare · 295 unmodified lines | ||
| 740 | 743 | $(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN) |
| 741 | 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 | 752 | $(LIBPERF_TEST_IN): FORCE prepare |
| 744 | 753 | $(Q)$(MAKE) $(build)=perf-test |
| 745 | 754 | |
| @@ -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 | |
| 21 | 21 | |
| 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 | |
| 24 | 24 | |
| 25 | −perf-$(CONFIG_NUMA) += numa.o | |
| 25 | +perf-bench-$(CONFIG_NUMA) += numa.o | |