mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 13:15:57 +00:00
perf tests: Make x86 new instructions test optional at build time
The "x86 instruction decoder - new instructions" test takes up space but is only really useful to developers. Make it optional at build time. Add variable EXTRA_TESTS which must be defined in order to build perf with the test. Example: Before: $ make -C tools/perf clean >/dev/null $ make -C tools/perf >/dev/null Makefile.config:650: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR Makefile.config:1149: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev PERF_VERSION = 6.4.rc3.gd15b8c76c964 $ readelf -SW tools/perf/perf | grep '\.rela.dyn\|.rodata\|\.data.rel.ro' [10] .rela.dyn RELA 000000000002fcb0 02fcb0 0748b0 18 A 6 0 8 [18] .rodata PROGBITS 00000000002eb000 2eb000 6bac00 00 A 0 0 32 [25] .data.rel.ro PROGBITS 00000000009ea180 9e9180 04b540 00 WA 0 0 32 After: $ make -C tools/perf clean >/dev/null $ make -C tools/perf >/dev/null Makefile.config:650: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR Makefile.config:1154: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev PERF_VERSION = 6.4.rc3.g4ea9c1569ea4 $ readelf -SW tools/perf/perf | grep '\.rela.dyn\|.rodata\|\.data.rel.ro' [10] .rela.dyn RELA 000000000002f3c8 02f3c8 036d68 18 A 6 0 8 [18] .rodata PROGBITS 00000000002ac000 2ac000 68da80 00 A 0 0 32 [25] .data.rel.ro PROGBITS 000000000097d440 97c440 022280 00 WA 0 0 32 Committer notes: Build with 'make EXTRA_TESTS=1 -C tools/perf O=/tmp/build/perf" and reproduced the ELF section size differences. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/683fea7c-f5e9-fa20-f96b-f6233ed5d2a7@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
7f911905ff
commit
d436373a75
@ -1075,6 +1075,11 @@ ifndef NO_AUXTRACE
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef EXTRA_TESTS
|
||||
$(call detected,CONFIG_EXTRA_TESTS)
|
||||
CFLAGS += -DHAVE_EXTRA_TESTS
|
||||
endif
|
||||
|
||||
ifndef NO_JVMTI
|
||||
ifneq (,$(wildcard /usr/sbin/update-java-alternatives))
|
||||
JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | awk '{print $$3}')
|
||||
|
@ -128,6 +128,10 @@ include ../scripts/utilities.mak
|
||||
#
|
||||
# Define BUILD_NONDISTRO to enable building an linking against libbfd and
|
||||
# libiberty distribution license incompatible libraries.
|
||||
#
|
||||
# Define EXTRA_TESTS to enable building extra tests useful mainly to perf
|
||||
# developers, such as:
|
||||
# x86 instruction decoder - new instructions test
|
||||
|
||||
# As per kernel Makefile, avoid funny character set dependencies
|
||||
unexport LC_ALL
|
||||
|
@ -6,7 +6,9 @@ struct test_suite;
|
||||
|
||||
/* Tests */
|
||||
int test__rdpmc(struct test_suite *test, int subtest);
|
||||
#ifdef HAVE_EXTRA_TESTS
|
||||
int test__insn_x86(struct test_suite *test, int subtest);
|
||||
#endif
|
||||
int test__intel_pt_pkt_decoder(struct test_suite *test, int subtest);
|
||||
int test__intel_pt_hybrid_compat(struct test_suite *test, int subtest);
|
||||
int test__bp_modify(struct test_suite *test, int subtest);
|
||||
|
@ -4,5 +4,8 @@ perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o
|
||||
perf-y += arch-tests.o
|
||||
perf-y += sample-parsing.o
|
||||
perf-y += hybrid.o
|
||||
perf-$(CONFIG_AUXTRACE) += insn-x86.o intel-pt-test.o
|
||||
perf-$(CONFIG_AUXTRACE) += intel-pt-test.o
|
||||
ifeq ($(CONFIG_EXTRA_TESTS),y)
|
||||
perf-$(CONFIG_AUXTRACE) += insn-x86.o
|
||||
endif
|
||||
perf-$(CONFIG_X86_64) += bp-modify.o
|
||||
|
@ -4,7 +4,9 @@
|
||||
#include "arch-tests.h"
|
||||
|
||||
#ifdef HAVE_AUXTRACE_SUPPORT
|
||||
#ifdef HAVE_EXTRA_TESTS
|
||||
DEFINE_SUITE("x86 instruction decoder - new instructions", insn_x86);
|
||||
#endif
|
||||
|
||||
static struct test_case intel_pt_tests[] = {
|
||||
TEST_CASE("Intel PT packet decoder", intel_pt_pkt_decoder),
|
||||
@ -37,7 +39,9 @@ struct test_suite *arch_tests[] = {
|
||||
&suite__dwarf_unwind,
|
||||
#endif
|
||||
#ifdef HAVE_AUXTRACE_SUPPORT
|
||||
#ifdef HAVE_EXTRA_TESTS
|
||||
&suite__insn_x86,
|
||||
#endif
|
||||
&suite__intel_pt,
|
||||
#endif
|
||||
#if defined(__x86_64__)
|
||||
|
@ -69,6 +69,7 @@ make_clean_all := clean all
|
||||
make_python_perf_so := $(python_perf_so)
|
||||
make_debug := DEBUG=1
|
||||
make_nondistro := BUILD_NONDISTRO=1
|
||||
make_extra_tests := EXTRA_TESTS=1
|
||||
make_no_libperl := NO_LIBPERL=1
|
||||
make_no_libpython := NO_LIBPYTHON=1
|
||||
make_no_scripts := NO_LIBPYTHON=1 NO_LIBPERL=1
|
||||
|
Loading…
x
Reference in New Issue
Block a user