For hybrid, kernel introduces new perf type PERF_TYPE_HARDWARE_PMU (6)
and it's assigned to hybrid hardware events.

  # ./perf test 17 -vvv
    ...
    compare
      matching [event:base-stat]
        to [event-6-17179869184-4]
        [cpu] * 0
        [flags] 0|8 8
        [type] 0 6
      ->FAIL
      match: [event:base-stat] matches []
      event:base-stat does not match, but is optional
    matched
    compare
      matching [event-6-17179869184-4]
        to [event:base-stat]
        [cpu] 0 *
        [flags] 8 0|8
        [type] 6 0
      ->FAIL
      match: [event-6-17179869184-4] matches []
  expected type=6, got 0
  expected config=17179869184, got 0
  FAILED './tests/attr/test-stat-C0' - match failure

The type matching is failed because one type is 0 but the
type of hybrid hardware event is 6. We temporarily skip this
test case and TODO in future.

Signed-off-by: Jin Yao <yao....@linux.intel.com>
---
v3:
 - No functional change.

 tools/perf/tests/attr.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c
index dd39ce9b0277..b37c35fb5a46 100644
--- a/tools/perf/tests/attr.c
+++ b/tools/perf/tests/attr.c
@@ -34,6 +34,7 @@
 #include "event.h"
 #include "util.h"
 #include "tests.h"
+#include "pmu.h"
 
 #define ENV "PERF_TEST_ATTR"
 
@@ -184,6 +185,9 @@ int test__attr(struct test *test __maybe_unused, int 
subtest __maybe_unused)
        char path_dir[PATH_MAX];
        char *exec_path;
 
+       if (perf_pmu__has_hybrid())
+               return 0;
+
        /* First try development tree tests. */
        if (!lstat("./tests", &st))
                return run_dir("./tests", "./perf");
-- 
2.17.1

Reply via email to