pmu-events.c (660842e468dcefb5d1d4fb40ed3abe4d1388dff7) | pmu-events.c (1ba3752aec30c04bfb7c82b44332ff98294ec0b8) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2#include "math.h" 3#include "parse-events.h" 4#include "pmu.h" 5#include "tests.h" 6#include <errno.h> 7#include <stdio.h> 8#include <linux/kernel.h> --- 410 unchanged lines hidden (view full) --- 419 pmu_name, alias->pmu_name, test_event->event.pmu); 420 return -1; 421 } 422 423 return 0; 424} 425 426static int test__pmu_event_table_core_callback(const struct pmu_event *pe, | 1// SPDX-License-Identifier: GPL-2.0 2#include "math.h" 3#include "parse-events.h" 4#include "pmu.h" 5#include "tests.h" 6#include <errno.h> 7#include <stdio.h> 8#include <linux/kernel.h> --- 410 unchanged lines hidden (view full) --- 419 pmu_name, alias->pmu_name, test_event->event.pmu); 420 return -1; 421 } 422 423 return 0; 424} 425 426static int test__pmu_event_table_core_callback(const struct pmu_event *pe, |
427 const struct pmu_event *table __maybe_unused, | 427 const struct pmu_events_table *table __maybe_unused, |
428 void *data) 429{ 430 int *map_events = data; 431 struct perf_pmu_test_event const **test_event_table; 432 bool found = false; 433 434 if (!pe->name) 435 return 0; --- 20 unchanged lines hidden (view full) --- 456 if (!found) { 457 pr_err("testing event table: could not find event %s\n", pe->name); 458 return -1; 459 } 460 return 0; 461} 462 463static int test__pmu_event_table_sys_callback(const struct pmu_event *pe, | 428 void *data) 429{ 430 int *map_events = data; 431 struct perf_pmu_test_event const **test_event_table; 432 bool found = false; 433 434 if (!pe->name) 435 return 0; --- 20 unchanged lines hidden (view full) --- 456 if (!found) { 457 pr_err("testing event table: could not find event %s\n", pe->name); 458 return -1; 459 } 460 return 0; 461} 462 463static int test__pmu_event_table_sys_callback(const struct pmu_event *pe, |
464 const struct pmu_event *table __maybe_unused, | 464 const struct pmu_events_table *table __maybe_unused, |
465 void *data) 466{ 467 int *map_events = data; 468 struct perf_pmu_test_event const **test_event_table; 469 bool found = false; 470 471 test_event_table = &sys_events[0]; 472 --- 17 unchanged lines hidden (view full) --- 490 } 491 return TEST_OK; 492} 493 494/* Verify generated events from pmu-events.c are as expected */ 495static int test__pmu_event_table(struct test_suite *test __maybe_unused, 496 int subtest __maybe_unused) 497{ | 465 void *data) 466{ 467 int *map_events = data; 468 struct perf_pmu_test_event const **test_event_table; 469 bool found = false; 470 471 test_event_table = &sys_events[0]; 472 --- 17 unchanged lines hidden (view full) --- 490 } 491 return TEST_OK; 492} 493 494/* Verify generated events from pmu-events.c are as expected */ 495static int test__pmu_event_table(struct test_suite *test __maybe_unused, 496 int subtest __maybe_unused) 497{ |
498 const struct pmu_event *sys_event_table = find_sys_events_table("pme_test_soc_sys"); 499 const struct pmu_event *table = find_core_events_table("testarch", "testcpu"); | 498 const struct pmu_events_table *sys_event_table = find_sys_events_table("pme_test_soc_sys"); 499 const struct pmu_events_table *table = find_core_events_table("testarch", "testcpu"); |
500 int map_events = 0, expected_events, err; 501 502 /* ignore 3x sentinels */ 503 expected_events = ARRAY_SIZE(core_events) + 504 ARRAY_SIZE(uncore_events) + 505 ARRAY_SIZE(sys_events) - 3; 506 507 if (!table || !sys_event_table) --- 31 unchanged lines hidden (view full) --- 539 540/* Verify aliases are as expected */ 541static int __test_core_pmu_event_aliases(char *pmu_name, int *count) 542{ 543 struct perf_pmu_test_event const **test_event_table; 544 struct perf_pmu *pmu; 545 LIST_HEAD(aliases); 546 int res = 0; | 500 int map_events = 0, expected_events, err; 501 502 /* ignore 3x sentinels */ 503 expected_events = ARRAY_SIZE(core_events) + 504 ARRAY_SIZE(uncore_events) + 505 ARRAY_SIZE(sys_events) - 3; 506 507 if (!table || !sys_event_table) --- 31 unchanged lines hidden (view full) --- 539 540/* Verify aliases are as expected */ 541static int __test_core_pmu_event_aliases(char *pmu_name, int *count) 542{ 543 struct perf_pmu_test_event const **test_event_table; 544 struct perf_pmu *pmu; 545 LIST_HEAD(aliases); 546 int res = 0; |
547 const struct pmu_event *table = find_core_events_table("testarch", "testcpu"); | 547 const struct pmu_events_table *table = find_core_events_table("testarch", "testcpu"); |
548 struct perf_pmu_alias *a, *tmp; 549 550 if (!table) 551 return -1; 552 553 test_event_table = &core_events[0]; 554 555 pmu = zalloc(sizeof(*pmu)); --- 36 unchanged lines hidden (view full) --- 592 593static int __test_uncore_pmu_event_aliases(struct perf_pmu_test_pmu *test_pmu) 594{ 595 int alias_count = 0, to_match_count = 0, matched_count = 0; 596 struct perf_pmu_test_event const **table; 597 struct perf_pmu *pmu = &test_pmu->pmu; 598 const char *pmu_name = pmu->name; 599 struct perf_pmu_alias *a, *tmp, *alias; | 548 struct perf_pmu_alias *a, *tmp; 549 550 if (!table) 551 return -1; 552 553 test_event_table = &core_events[0]; 554 555 pmu = zalloc(sizeof(*pmu)); --- 36 unchanged lines hidden (view full) --- 592 593static int __test_uncore_pmu_event_aliases(struct perf_pmu_test_pmu *test_pmu) 594{ 595 int alias_count = 0, to_match_count = 0, matched_count = 0; 596 struct perf_pmu_test_event const **table; 597 struct perf_pmu *pmu = &test_pmu->pmu; 598 const char *pmu_name = pmu->name; 599 struct perf_pmu_alias *a, *tmp, *alias; |
600 const struct pmu_event *events_table; | 600 const struct pmu_events_table *events_table; |
601 LIST_HEAD(aliases); 602 int res = 0; 603 604 events_table = find_core_events_table("testarch", "testcpu"); 605 if (!events_table) 606 return -1; 607 pmu_add_cpu_aliases_table(&aliases, pmu, events_table); 608 pmu_add_sys_aliases(&aliases, pmu); --- 225 unchanged lines hidden (view full) --- 834 return ret; 835} 836 837struct metric { 838 struct list_head list; 839 struct metric_ref metric_ref; 840}; 841 | 601 LIST_HEAD(aliases); 602 int res = 0; 603 604 events_table = find_core_events_table("testarch", "testcpu"); 605 if (!events_table) 606 return -1; 607 pmu_add_cpu_aliases_table(&aliases, pmu, events_table); 608 pmu_add_sys_aliases(&aliases, pmu); --- 225 unchanged lines hidden (view full) --- 834 return ret; 835} 836 837struct metric { 838 struct list_head list; 839 struct metric_ref metric_ref; 840}; 841 |
842static int test__parsing_callback(const struct pmu_event *pe, const struct pmu_event *table, | 842static int test__parsing_callback(const struct pmu_event *pe, const struct pmu_events_table *table, |
843 void *data) 844{ 845 int *failures = data; 846 int k; 847 struct evlist *evlist; 848 struct perf_cpu_map *cpus; 849 struct runtime_stat st; 850 struct evsel *evsel; --- 160 unchanged lines hidden (view full) --- 1011 } 1012 1013out: 1014 expr__ctx_free(ctx); 1015 return ret; 1016} 1017 1018static int test__parsing_fake_callback(const struct pmu_event *pe, | 843 void *data) 844{ 845 int *failures = data; 846 int k; 847 struct evlist *evlist; 848 struct perf_cpu_map *cpus; 849 struct runtime_stat st; 850 struct evsel *evsel; --- 160 unchanged lines hidden (view full) --- 1011 } 1012 1013out: 1014 expr__ctx_free(ctx); 1015 return ret; 1016} 1017 1018static int test__parsing_fake_callback(const struct pmu_event *pe, |
1019 const struct pmu_event *table __maybe_unused, | 1019 const struct pmu_events_table *table __maybe_unused, |
1020 void *data __maybe_unused) 1021{ 1022 if (!pe->metric_expr) 1023 return 0; 1024 1025 return metric_parse_fake(pe->metric_expr); 1026} 1027 --- 36 unchanged lines hidden --- | 1020 void *data __maybe_unused) 1021{ 1022 if (!pe->metric_expr) 1023 return 0; 1024 1025 return metric_parse_fake(pe->metric_expr); 1026} 1027 --- 36 unchanged lines hidden --- |