Lines Matching full:pmu

4 #include "pmu.h"
12 #include "../pmu-events/pmu-events.h"
22 /* used for matching against events from generated pmu-events.c */
36 /* PMU which we should match against */
49 .pmu = "default_core",
60 .pmu = "default_core",
71 .pmu = "default_core",
82 .pmu = "default_core",
93 .pmu = "default_core",
104 .pmu = "default_core",
131 .pmu = "hisi_sccl,ddrc",
143 .pmu = "uncore_cbox",
155 .pmu = "uncore_cbox",
167 .pmu = "uncore_cbox",
179 .pmu = "hisi_sccl,l3c",
191 .pmu = "uncore_imc_free_running",
203 .pmu = "uncore_imc",
226 .pmu = "uncore_sys_ddr_pmu",
239 .pmu = "uncore_sys_ccn_pmu",
252 .pmu = "uncore_sys_cmn_pmu",
318 if (!is_same(e1->pmu, e2->pmu)) { in compare_pmu_events()
319 pr_debug2("testing event e1 %s: mismatched pmu string, %s vs %s\n", in compare_pmu_events()
320 e1->name, e1->pmu, e2->pmu); in compare_pmu_events()
353 pr_debug("testing aliases PMU %s: mismatched name, %s vs %s\n", in compare_alias_to_test_event()
359 pr_debug("testing aliases PMU %s: mismatched desc, %s vs %s\n", in compare_alias_to_test_event()
365 pr_debug("testing aliases PMU %s: mismatched long_desc, %s vs %s\n", in compare_alias_to_test_event()
372 pr_debug("testing aliases PMU %s: mismatched topic, %s vs %s\n", in compare_alias_to_test_event()
378 pr_debug("testing aliases PMU %s: mismatched str, %s vs %s\n", in compare_alias_to_test_event()
384 pr_debug("testing aliases PMU %s: mismatched long desc, %s vs %s\n", in compare_alias_to_test_event()
389 if (!is_same(alias->pmu_name, test_event->event.pmu) && in compare_alias_to_test_event()
391 pr_debug("testing aliases PMU %s: mismatched pmu_name, %s vs %s\n", in compare_alias_to_test_event()
392 pmu_name, alias->pmu_name, test_event->event.pmu); in compare_alias_to_test_event()
407 if (strcmp(pe->pmu, "default_core")) in test__pmu_event_table_core_callback()
464 /* Verify generated events from pmu-events.c are as expected */
481 err = pmu_events_table__for_each_event(table, /*pmu=*/ NULL, in test__pmu_event_table()
487 err = pmu_events_table__for_each_event(sys_event_table, /*pmu=*/ NULL, in test__pmu_event_table()
511 if (compare_alias_to_test_event(alias, args->test_event, alias->pmu->name)) in test_core_pmu_event_aliases_cb()
514 pr_debug2("testing aliases core PMU %s: matched event %s\n", in test_core_pmu_event_aliases_cb()
523 struct perf_pmu *pmu; in __test_core_pmu_event_aliases() local
532 pmu = zalloc(sizeof(*pmu)); in __test_core_pmu_event_aliases()
533 if (!pmu) in __test_core_pmu_event_aliases()
536 if (perf_pmu__init(pmu, PERF_PMU_TYPE_FAKE, pmu_name) != 0) { in __test_core_pmu_event_aliases()
537 perf_pmu__delete(pmu); in __test_core_pmu_event_aliases()
540 pmu->is_core = true; in __test_core_pmu_event_aliases()
542 pmu->events_table = table; in __test_core_pmu_event_aliases()
543 pmu_add_cpu_aliases_table(pmu, table); in __test_core_pmu_event_aliases()
544 pmu->cpu_aliases_added = true; in __test_core_pmu_event_aliases()
545 pmu->sysfs_aliases_loaded = true; in __test_core_pmu_event_aliases()
547 res = pmu_events_table__find_event(table, pmu, "bp_l1_btb_correct", NULL, NULL); in __test_core_pmu_event_aliases()
561 test_event.event.pmu = pmu_name; in __test_core_pmu_event_aliases()
562 err = perf_pmu__find_event(pmu, event->name, &args, in __test_core_pmu_event_aliases()
567 perf_pmu__delete(pmu); in __test_core_pmu_event_aliases()
576 struct perf_pmu *pmu; in __test_uncore_pmu_event_aliases() local
584 pmu = zalloc(sizeof(*pmu)); in __test_uncore_pmu_event_aliases()
585 if (!pmu) in __test_uncore_pmu_event_aliases()
588 if (perf_pmu__init(pmu, PERF_PMU_TYPE_FAKE, test_pmu->pmu_name) != 0) { in __test_uncore_pmu_event_aliases()
589 perf_pmu__delete(pmu); in __test_uncore_pmu_event_aliases()
592 pmu->is_uncore = test_pmu->pmu_is_uncore; in __test_uncore_pmu_event_aliases()
594 pmu->id = strdup(test_pmu->pmu_id); in __test_uncore_pmu_event_aliases()
595 if (!pmu->id) { in __test_uncore_pmu_event_aliases()
596 perf_pmu__delete(pmu); in __test_uncore_pmu_event_aliases()
600 pmu->events_table = events_table; in __test_uncore_pmu_event_aliases()
601 pmu_add_cpu_aliases_table(pmu, events_table); in __test_uncore_pmu_event_aliases()
602 pmu->cpu_aliases_added = true; in __test_uncore_pmu_event_aliases()
603 pmu->sysfs_aliases_loaded = true; in __test_uncore_pmu_event_aliases()
604 pmu_add_sys_aliases(pmu); in __test_uncore_pmu_event_aliases()
607 alias_count = perf_pmu__num_events(pmu); in __test_uncore_pmu_event_aliases()
614 pr_debug("testing aliases uncore PMU %s: mismatch expected aliases (%d) vs found (%d)\n", in __test_uncore_pmu_event_aliases()
615 pmu->name, to_match_count, alias_count); in __test_uncore_pmu_event_aliases()
616 perf_pmu__delete(pmu); in __test_uncore_pmu_event_aliases()
629 if (strcmp(pmu->name, test_event.matching_pmu)) { in __test_uncore_pmu_event_aliases()
630 pr_debug("testing aliases uncore PMU %s: mismatched matching_pmu, %s vs %s\n", in __test_uncore_pmu_event_aliases()
631 pmu->name, test_event.matching_pmu, pmu->name); in __test_uncore_pmu_event_aliases()
632 perf_pmu__delete(pmu); in __test_uncore_pmu_event_aliases()
636 err = perf_pmu__find_event(pmu, event->name, &args, in __test_uncore_pmu_event_aliases()
640 pr_debug("testing aliases uncore PMU %s: could not match alias %s\n", in __test_uncore_pmu_event_aliases()
641 pmu->name, event->name); in __test_uncore_pmu_event_aliases()
642 perf_pmu__delete(pmu); in __test_uncore_pmu_event_aliases()
648 pr_debug("testing aliases uncore PMU %s: mismatch found aliases (%d) vs matched (%d)\n", in __test_uncore_pmu_event_aliases()
649 pmu->name, matched_count, alias_count); in __test_uncore_pmu_event_aliases()
652 perf_pmu__delete(pmu); in __test_uncore_pmu_event_aliases()
748 struct perf_pmu *pmu = NULL; in test__aliases() local
751 while ((pmu = perf_pmus__scan_core(pmu)) != NULL) { in test__aliases()
754 if (list_empty(&pmu->format)) { in test__aliases()
755 pr_debug2("skipping testing core PMU %s\n", pmu->name); in test__aliases()
759 if (__test_core_pmu_event_aliases(pmu->name, &count)) { in test__aliases()
760 pr_debug("testing core PMU %s aliases: failed\n", pmu->name); in test__aliases()
765 pr_debug("testing core PMU %s aliases: no events to match\n", in test__aliases()
766 pmu->name); in test__aliases()
770 pr_debug("testing core PMU %s aliases: pass\n", pmu->name); in test__aliases()
1065 TEST_CASE("PMU event table sanity", pmu_event_table),
1066 TEST_CASE("PMU event map aliases", aliases),
1067 TEST_CASE_REASON("Parsing of PMU event table metrics", parsing,
1069 TEST_CASE("Parsing of PMU event table metrics with fake PMUs", parsing_fake),
1075 .desc = "PMU JSON event tests",