perf tests: Move x86 tests into arch directory
tip-bot for Matt Fleming
merge botCommit-ID: d8b167f9d8af817073ee35cf904e2e527465dbc1 Gitweb: http://git.kernel.org/tip/d8b167f9d8af817073ee35cf904e2e527465dbc1 Author: Matt Fleming <[email protected]> AuthorDate: Mon, 5 Oct 2015 15:40:20 +0100 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Mon, 5 Oct 2015 16:55:43 -0300
perf tests: Move x86 tests into arch directory
Move out the x86-specific tests into tools/perf/arch/x86/tests and define an 'arch_tests' array, which is the list of tests that only apply to the build architecture.
We can also now begin to get rid of some of the #ifdef code that is present in the generic perf tests.
Signed-off-by Matt Fleming <[email protected]>
Cc Adrian Hunter <[email protected]>
Cc Andi Kleen <[email protected]>
Cc Fenghua Yu <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Kanaka Juvva <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Vikas Shivappa <[email protected]>
Cc Vince Weaver <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/arch/x86/include/arch-tests.h | 12 ++++++++++
tools/perf/arch/x86/tests/Build | 3 +++
tools/perf/arch/x86/tests/arch-tests.c | 20 ++++++++++++++++
tools/perf/arch/x86/tests/dwarf-unwind.c | 1 +
.../perf/{ => arch/x86}/tests/gen-insn-x86-dat.awk | 0
.../perf/{ => arch/x86}/tests/gen-insn-x86-dat.sh | 0
tools/perf/{ => arch/x86}/tests/insn-x86-dat-32.c | 0
tools/perf/{ => arch/x86}/tests/insn-x86-dat-64.c | 0
tools/perf/{ => arch/x86}/tests/insn-x86-dat-src.c | 0
tools/perf/{ => arch/x86}/tests/insn-x86.c | 3 ++-
tools/perf/{ => arch/x86}/tests/perf-time-to-tsc.c | 4 +++-
tools/perf/{ => arch/x86}/tests/rdpmc.c | 7 ++----
tools/perf/tests/Build | 6 -----
tools/perf/tests/builtin-test.c | 28 ----------------------
tools/perf/tests/dwarf-unwind.c | 4 ++++
tools/perf/tests/tests.h | 5 +---
16 files changed, 48 insertions(+), 45 deletions(-)tools/perf/arch/x86/include/arch-tests.h +12 -0
@@ -1,6 +1,18 @@#ifndef ARCH_TESTS_H #define ARCH_TESTS_H +/* Tests */ +int test__rdpmc (void ); +int test__perf_time_to_tsc (void ); +int test__insn_x86 (void ); + +#ifdef HAVE_DWARF_UNWIND_SUPPORT +struct thread ; +struct perf_sample ; +int test__arch_unwind_sample (struct perf_sample *sample, +struct thread *thread); +#endif +extern struct test arch_tests[];#endif
tools/perf/arch/x86/tests/Build +3 -0
@@ -2,3 +2,6 @@ libperf-$(CONFIG_DWARF_UNWIND) += regs_load.o libperf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o libperf-y += arch-tests.o +libperf-y += rdpmc.o +libperf-y += perf-time-to-tsc.o +libperf-$(CONFIG_AUXTRACE) += insn-x86.o
tools/perf/arch/x86/tests/arch-tests.c +20 -0
@@ -4,6 +4,26 @@struct test arch_tests[] = { { + .desc ="x86 rdpmc test" , + .func = test__rdpmc, + }, + { + .desc ="Test converting perf time to TSC" , + .func = test__perf_time_to_tsc, + }, +#ifdef HAVE_DWARF_UNWIND_SUPPORT + { + .desc ="Test dwarf unwind" , + .func = test__dwarf_unwind, + }, +#endif +#ifdef HAVE_AUXTRACE_SUPPORT + { + .desc ="Test x86 instruction decoder - new instructions" , + .func = test__insn_x86, + }, +#endif + { .func =NULL , },
tools/perf/arch/x86/tests/dwarf-unwind.c +1 -0
@@ -5,6 +5,7 @@#include "event.h" #include "debug.h" #include "tests/tests.h" +#include "arch-tests.h" #define STACK_SIZE 8192
tools/perf/arch/x86/tests/gen-insn-x86-dat.awk renamed from tools/perf/tests/gen-insn-x86-dat.awk +0 -0
tools/perf/arch/x86/tests/gen-insn-x86-dat.sh renamed from tools/perf/tests/gen-insn-x86-dat.sh +0 -0
tools/perf/arch/x86/tests/insn-x86-dat-32.c renamed from tools/perf/tests/insn-x86-dat-32.c +0 -0
tools/perf/arch/x86/tests/insn-x86-dat-64.c renamed from tools/perf/tests/insn-x86-dat-64.c +0 -0
tools/perf/arch/x86/tests/insn-x86-dat-src.c renamed from tools/perf/tests/insn-x86-dat-src.c +0 -0
tools/perf/arch/x86/tests/insn-x86.c renamed from tools/perf/tests/insn-x86.c +2 -1
@@ -1,7 +1,8 @@#include <linux/types.h> #include "debug.h" -#include "tests.h" +#include "tests/tests.h" +#include "arch-tests.h" #include "intel-pt-decoder/insn.h" #include "intel-pt-decoder/intel-pt-insn-decoder.h"
tools/perf/arch/x86/tests/perf-time-to-tsc.c renamed from tools/perf/tests/perf-time-to-tsc.c +3 -1
@@ -9,7 +9,9 @@#include "thread_map.h" #include "cpumap.h" #include "tsc.h" -#include "tests.h" +#include "tests/tests.h" + +#include "arch-tests.h" #define CHECK__ (x) { \ while ((x) < 0) { \
tools/perf/arch/x86/tests/rdpmc.c renamed from tools/perf/tests/rdpmc.c +2 -5
@@ -5,10 +5,9 @@#include <linux/types.h> #include "perf.h" #include "debug.h" -#include "tests.h" +#include "tests/tests.h" #include "cloexec.h" - -#if defined(__x86_64__) || defined(__i386__) +#include "arch-tests.h" static u64 rdpmc (unsigned int counter) {
@@ -173,5 +172,3 @@ int test__rdpmc(void)return 0 ; } - -#endif
tools/perf/tests/Build +0 -6
@@ -8,7 +8,6 @@ perf-y += openat-syscall-all-cpus.o perf-y += openat-syscall-tp-fields.o perf-y += mmap-basic.o perf-y += perf-record.o -perf-y += rdpmc.o perf-y += evsel-roundtrip-name.o perf-y += evsel-tp-sched.o perf-y += fdarray.o
@@ -35,11 +34,6 @@ perf-y += thread-map.o perf-y += llvm.o perf-y += topology.o -perf-$(CONFIG_X86) += perf-time-to-tsc.o -ifdef CONFIG_AUXTRACE -perf-$(CONFIG_X86) += insn-x86.o -endif - ifeq ($(ARCH),$(filter $(ARCH),x86 arm arm64)) perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o endif
tools/perf/tests/builtin-test.c +0 -28
@@ -41,12 +41,6 @@ static struct test generic_tests[] = { .desc = "parse events tests", .func = test__parse_events, }, -#if defined(__x86_64__) || defined(__i386__) - { - .desc = "x86 rdpmc test", - .func = test__rdpmc, - }, -#endif { .desc = "Validate PERF_RECORD_* events & perf_sample fields", .func = test__PERF_RECORD,
@@ -107,12 +101,6 @@ static struct test generic_tests[] = { .desc = "Test software clock events have valid period values", .func = test__sw_clock_freq, }, -#if defined(__x86_64__) || defined(__i386__) - { - .desc = "Test converting perf time to TSC", - .func = test__perf_time_to_tsc, - }, -#endif { .desc = "Test object code reading", .func = test__code_reading,
@@ -129,14 +117,6 @@ static struct test generic_tests[] = { .desc = "Test parsing with no sample_id_all bit set", .func = test__parse_no_sample_id_all, }, -#if defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__aarch64__) -#ifdef HAVE_DWARF_UNWIND_SUPPORT - { - .desc = "Test dwarf unwind", - .func = test__dwarf_unwind, - }, -#endif -#endif { .desc = "Test filtering hist entries", .func = test__hists_filter,
@@ -181,14 +161,6 @@ static struct test generic_tests[] = { .desc = "Test LLVM searching and compiling", .func = test__llvm, }, -#ifdef HAVE_AUXTRACE_SUPPORT -#if defined(__x86_64__) || defined(__i386__) - { - .desc = "Test x86 instruction decoder - new instructions", - .func = test__insn_x86, - }, -#endif -#endif { .desc = "Test topology in session", .func = test_session_topology,
tools/perf/tests/dwarf-unwind.c +4 -0
@@ -11,6 +11,10 @@#include "thread.h" #include "callchain.h" +#if defined (__x86_64__) || defined (__i386__) +#include "arch-tests.h" +#endif +/* For bsearch. We try to unwind functions in shared object. */ #include <stdlib.h>
tools/perf/tests/tests.h +1 -4
@@ -35,7 +35,6 @@ int test__openat_syscall_event(void);int test__openat_syscall_event_on_all_cpus (void );int test__basic_mmap (void );int test__PERF_RECORD (void ); -int test__rdpmc (void );int test__perf_evsel__roundtrip_name_test (void );int test__perf_evsel__tp_sched_test (void );int test__syscall_openat_tp_fields (void );
@@ -51,7 +50,6 @@ int test__bp_signal(void);int test__bp_signal_overflow (void );int test__task_exit (void );int test__sw_clock_freq (void ); -int test__perf_time_to_tsc (void );int test__code_reading (void );int test__sample_parsing (void );int test__keep_tracking (void );
@@ -68,10 +66,9 @@ int test__fdarray__add(void);int test__kmod_path__parse (void );int test__thread_map (void );int test__llvm (void ); -int test__insn_x86 (void );int test_session_topology (void ); -#if defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__aarch64__) +#if defined(__arm__) || defined(__aarch64__)#ifdef HAVE_DWARF_UNWIND_SUPPORT struct thread ;struct perf_sample ;