perf tests tsc: Add checking helper is_supported()
authorLeo Yan <leo.yan@linaro.org>
Mon, 19 Oct 2020 10:02:36 +0000 (18:02 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 4 Nov 2020 12:42:40 +0000 (09:42 -0300)
So far tsc is enabled on x86_64, i386 and Arm64 architectures, add
checking helper to skip this testing for other architectures.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/20201019100236.23675-3-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/builtin-test.c
tools/perf/tests/perf-time-to-tsc.c
tools/perf/tests/tests.h

index 02e7bbf..a185904 100644 (file)
@@ -352,6 +352,7 @@ static struct test generic_tests[] = {
        {
                .desc = "Convert perf time to TSC",
                .func = test__perf_time_to_tsc,
+               .is_supported = test__tsc_is_supported,
        },
        {
                .func = NULL,
index aee97c1..a9560e0 100644 (file)
@@ -169,3 +169,16 @@ out_err:
        evlist__delete(evlist);
        return err;
 }
+
+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
+}
index c9b180e..b1f2aac 100644 (file)
@@ -129,6 +129,7 @@ int test__perf_time_to_tsc(struct test *test, int subtest);
 bool test__bp_signal_is_supported(void);
 bool test__bp_account_is_supported(void);
 bool test__wp_is_supported(void);
+bool test__tsc_is_supported(void);
 
 #if defined(__arm__) || defined(__aarch64__)
 #ifdef HAVE_DWARF_UNWIND_SUPPORT