For hybrid, kernel introduces new perf type PERF_TYPE_HARDWARE_PMU (6) and it's assigned to hybrid hardware events.
root@otcpl-adl-s-2:~# ./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> --- tools/perf/tests/attr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c index dd39ce9b0277..fc7f74159764 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-hybrid.h" #define ENV "PERF_TEST_ATTR" @@ -184,6 +185,10 @@ int test__attr(struct test *test __maybe_unused, int subtest __maybe_unused) char path_dir[PATH_MAX]; char *exec_path; + perf_pmu__scan(NULL); + if (perf_pmu__hybrid_exist()) + return 0; + /* First try development tree tests. */ if (!lstat("./tests", &st)) return run_dir("./tests", "./perf"); -- 2.17.1