diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/tests/perf-time-to-tsc.c | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/tools/perf/tests/perf-time-to-tsc.c b/tools/perf/tests/perf-time-to-tsc.c index 594013e94ed0..d12d0ad81801 100644 --- a/tools/perf/tests/perf-time-to-tsc.c +++ b/tools/perf/tests/perf-time-to-tsc.c @@ -23,6 +23,16 @@ #include "pmu.h" #include "pmu-hybrid.h" +/* + * Except x86_64/i386 and Arm64, other archs don't support TSC in perf. Just + * enable the test for x86_64/i386 and Arm64 archs. + */ +#if defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) +#define TSC_IS_SUPPORTED 1 +#else +#define TSC_IS_SUPPORTED 0 +#endif + #define CHECK__(x) { \ while ((x) < 0) { \ pr_debug(#x " failed!\n"); \ @@ -69,6 +79,11 @@ static int test__perf_time_to_tsc(struct test_suite *test __maybe_unused, int su u64 test_time, comm1_time = 0, comm2_time = 0; struct mmap *md; + if (!TSC_IS_SUPPORTED) { + pr_debug("Test not supported on this architecture"); + return TEST_SKIP; + } + threads = thread_map__new(-1, getpid(), UINT_MAX); CHECK_NOT_NULL__(threads); @@ -185,26 +200,4 @@ out_err: return err; } -static bool test__tsc_is_supported(void) -{ - /* - * Except x86_64/i386 and Arm64, other archs don't support TSC in perf. - * Just enable the test for x86_64/i386 and Arm64 archs. - */ -#if defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) - return true; -#else - return false; -#endif -} - -static struct test_case perf_time_to_tsc_tests[] = { - TEST_CASE("Convert perf time to TSC", perf_time_to_tsc), - { .name = NULL, } -}; - -struct test_suite suite__perf_time_to_tsc = { - .desc = "Convert perf time to TSC", - .test_cases = perf_time_to_tsc_tests, - .is_supported = test__tsc_is_supported, -}; +DEFINE_SUITE("Convert perf time to TSC", perf_time_to_tsc); |