parse-events.c (5a9821321e0a61674fd5c4b5a9e95007d0e7e052) | parse-events.c (a9f93f97424c64f8d5d94b653a2133e491498680) |
---|---|
1 2#include "parse-events.h" 3#include "evsel.h" 4#include "evlist.h" 5#include "sysfs.h" 6#include <lk/debugfs.h> 7#include "tests.h" 8#include <linux/hw_breakpoint.h> --- 506 unchanged lines hidden (view full) --- 515 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 516 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 517 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 518 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 519 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 520 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 521 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 522 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | 1 2#include "parse-events.h" 3#include "evsel.h" 4#include "evlist.h" 5#include "sysfs.h" 6#include <lk/debugfs.h> 7#include "tests.h" 8#include <linux/hw_breakpoint.h> --- 506 unchanged lines hidden (view full) --- 515 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 516 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 517 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 518 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 519 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 520 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 521 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 522 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); |
523 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
523 524 /* cycles:upp */ 525 evsel = perf_evsel__next(evsel); 526 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 527 TEST_ASSERT_VAL("wrong config", 528 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 529 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 530 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 531 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 532 /* use of precise requires exclude_guest */ 533 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 534 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 535 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); 536 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 537 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | 524 525 /* cycles:upp */ 526 evsel = perf_evsel__next(evsel); 527 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 528 TEST_ASSERT_VAL("wrong config", 529 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 530 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 531 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 532 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 533 /* use of precise requires exclude_guest */ 534 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 535 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 536 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); 537 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 538 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); |
539 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
538 539 return 0; 540} 541 542static int test__group2(struct perf_evlist *evlist) 543{ 544 struct perf_evsel *evsel, *leader; 545 --- 9 unchanged lines hidden (view full) --- 555 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 556 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 557 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 558 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 559 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 560 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 561 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 562 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | 540 541 return 0; 542} 543 544static int test__group2(struct perf_evlist *evlist) 545{ 546 struct perf_evsel *evsel, *leader; 547 --- 9 unchanged lines hidden (view full) --- 557 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 558 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 559 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 560 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 561 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 562 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 563 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 564 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); |
565 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
563 564 /* cache-references + :u modifier */ 565 evsel = perf_evsel__next(evsel); 566 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 567 TEST_ASSERT_VAL("wrong config", 568 PERF_COUNT_HW_CACHE_REFERENCES == evsel->attr.config); 569 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 570 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 571 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 572 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 573 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 574 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 575 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 576 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | 566 567 /* cache-references + :u modifier */ 568 evsel = perf_evsel__next(evsel); 569 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 570 TEST_ASSERT_VAL("wrong config", 571 PERF_COUNT_HW_CACHE_REFERENCES == evsel->attr.config); 572 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 573 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 574 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 575 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 576 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 577 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 578 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 579 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); |
580 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
577 578 /* cycles:k */ 579 evsel = perf_evsel__next(evsel); 580 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 581 TEST_ASSERT_VAL("wrong config", 582 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 583 TEST_ASSERT_VAL("wrong exclude_user", evsel->attr.exclude_user); 584 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 585 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 586 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 587 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 588 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 589 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); | 581 582 /* cycles:k */ 583 evsel = perf_evsel__next(evsel); 584 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 585 TEST_ASSERT_VAL("wrong config", 586 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 587 TEST_ASSERT_VAL("wrong exclude_user", evsel->attr.exclude_user); 588 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 589 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 590 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 591 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 592 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 593 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); |
594 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
590 591 return 0; 592} 593 594static int test__group3(struct perf_evlist *evlist __maybe_unused) 595{ 596 struct perf_evsel *evsel, *leader; 597 --- 12 unchanged lines hidden (view full) --- 610 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 611 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 612 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 613 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 614 TEST_ASSERT_VAL("wrong group name", 615 !strcmp(leader->group_name, "group1")); 616 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 617 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | 595 596 return 0; 597} 598 599static int test__group3(struct perf_evlist *evlist __maybe_unused) 600{ 601 struct perf_evsel *evsel, *leader; 602 --- 12 unchanged lines hidden (view full) --- 615 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 616 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 617 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 618 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 619 TEST_ASSERT_VAL("wrong group name", 620 !strcmp(leader->group_name, "group1")); 621 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 622 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); |
623 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
618 619 /* group1 cycles:kppp */ 620 evsel = perf_evsel__next(evsel); 621 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 622 TEST_ASSERT_VAL("wrong config", 623 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 624 TEST_ASSERT_VAL("wrong exclude_user", evsel->attr.exclude_user); 625 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 626 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 627 /* use of precise requires exclude_guest */ 628 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 629 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 630 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 3); 631 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 632 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 633 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | 624 625 /* group1 cycles:kppp */ 626 evsel = perf_evsel__next(evsel); 627 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 628 TEST_ASSERT_VAL("wrong config", 629 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 630 TEST_ASSERT_VAL("wrong exclude_user", evsel->attr.exclude_user); 631 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 632 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 633 /* use of precise requires exclude_guest */ 634 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 635 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 636 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 3); 637 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 638 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 639 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); |
640 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
634 635 /* group2 cycles + G modifier */ 636 evsel = leader = perf_evsel__next(evsel); 637 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 638 TEST_ASSERT_VAL("wrong config", 639 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 640 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 641 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 642 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 643 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 644 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 645 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 646 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 647 TEST_ASSERT_VAL("wrong group name", 648 !strcmp(leader->group_name, "group2")); 649 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 650 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | 641 642 /* group2 cycles + G modifier */ 643 evsel = leader = perf_evsel__next(evsel); 644 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 645 TEST_ASSERT_VAL("wrong config", 646 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 647 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 648 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 649 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 650 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 651 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 652 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 653 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 654 TEST_ASSERT_VAL("wrong group name", 655 !strcmp(leader->group_name, "group2")); 656 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 657 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); |
658 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
651 652 /* group2 1:3 + G modifier */ 653 evsel = perf_evsel__next(evsel); 654 TEST_ASSERT_VAL("wrong type", 1 == evsel->attr.type); 655 TEST_ASSERT_VAL("wrong config", 3 == evsel->attr.config); 656 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 657 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 658 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 659 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 660 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 661 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 662 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 663 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | 659 660 /* group2 1:3 + G modifier */ 661 evsel = perf_evsel__next(evsel); 662 TEST_ASSERT_VAL("wrong type", 1 == evsel->attr.type); 663 TEST_ASSERT_VAL("wrong config", 3 == evsel->attr.config); 664 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 665 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 666 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 667 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 668 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 669 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 670 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 671 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); |
672 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
664 665 /* instructions:u */ 666 evsel = perf_evsel__next(evsel); 667 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 668 TEST_ASSERT_VAL("wrong config", 669 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 670 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 671 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 672 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 673 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 674 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 675 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 676 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); | 673 674 /* instructions:u */ 675 evsel = perf_evsel__next(evsel); 676 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 677 TEST_ASSERT_VAL("wrong config", 678 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 679 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 680 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 681 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 682 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 683 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 684 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 685 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); |
686 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
677 678 return 0; 679} 680 681static int test__group4(struct perf_evlist *evlist __maybe_unused) 682{ 683 struct perf_evsel *evsel, *leader; 684 --- 11 unchanged lines hidden (view full) --- 696 /* use of precise requires exclude_guest */ 697 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 698 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 699 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 1); 700 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 701 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 702 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 703 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | 687 688 return 0; 689} 690 691static int test__group4(struct perf_evlist *evlist __maybe_unused) 692{ 693 struct perf_evsel *evsel, *leader; 694 --- 11 unchanged lines hidden (view full) --- 706 /* use of precise requires exclude_guest */ 707 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 708 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 709 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 1); 710 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 711 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 712 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 713 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); |
714 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
704 705 /* instructions:kp + p */ 706 evsel = perf_evsel__next(evsel); 707 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 708 TEST_ASSERT_VAL("wrong config", 709 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 710 TEST_ASSERT_VAL("wrong exclude_user", evsel->attr.exclude_user); 711 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 712 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 713 /* use of precise requires exclude_guest */ 714 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 715 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 716 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); 717 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 718 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | 715 716 /* instructions:kp + p */ 717 evsel = perf_evsel__next(evsel); 718 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 719 TEST_ASSERT_VAL("wrong config", 720 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 721 TEST_ASSERT_VAL("wrong exclude_user", evsel->attr.exclude_user); 722 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 723 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 724 /* use of precise requires exclude_guest */ 725 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 726 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 727 TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); 728 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 729 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); |
730 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
719 720 return 0; 721} 722 723static int test__group5(struct perf_evlist *evlist __maybe_unused) 724{ 725 struct perf_evsel *evsel, *leader; 726 --- 10 unchanged lines hidden (view full) --- 737 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 738 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 739 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 740 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 741 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 742 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 743 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 744 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | 731 732 return 0; 733} 734 735static int test__group5(struct perf_evlist *evlist __maybe_unused) 736{ 737 struct perf_evsel *evsel, *leader; 738 --- 10 unchanged lines hidden (view full) --- 749 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 750 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 751 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 752 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 753 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 754 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 755 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 756 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); |
757 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
745 746 /* instructions + G */ 747 evsel = perf_evsel__next(evsel); 748 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 749 TEST_ASSERT_VAL("wrong config", 750 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 751 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 752 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 753 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 754 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 755 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 756 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 757 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 758 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | 758 759 /* instructions + G */ 760 evsel = perf_evsel__next(evsel); 761 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 762 TEST_ASSERT_VAL("wrong config", 763 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 764 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 765 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 766 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 767 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 768 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 769 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 770 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 771 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); |
772 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
759 760 /* cycles:G */ 761 evsel = leader = perf_evsel__next(evsel); 762 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 763 TEST_ASSERT_VAL("wrong config", 764 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 765 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 766 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 767 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 768 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 769 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 770 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 771 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 772 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 773 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 774 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | 773 774 /* cycles:G */ 775 evsel = leader = perf_evsel__next(evsel); 776 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 777 TEST_ASSERT_VAL("wrong config", 778 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 779 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 780 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 781 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 782 TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest); 783 TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); 784 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 785 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 786 TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); 787 TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); 788 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); |
789 TEST_ASSERT_VAL("wrong sample_read", !evsel->sample_read); |
|
775 776 /* instructions:G */ 777 evsel = perf_evsel__next(evsel); 778 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 779 TEST_ASSERT_VAL("wrong config", 780 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 781 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 782 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); --- 175 unchanged lines hidden (view full) --- 958 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 959 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 960 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 961 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); 962 963 return 0; 964} 965 | 790 791 /* instructions:G */ 792 evsel = perf_evsel__next(evsel); 793 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 794 TEST_ASSERT_VAL("wrong config", 795 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 796 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 797 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); --- 175 unchanged lines hidden (view full) --- 973 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 974 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 975 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 976 TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); 977 978 return 0; 979} 980 |
981static int test__leader_sample1(struct perf_evlist *evlist) 982{ 983 struct perf_evsel *evsel, *leader; 984 985 TEST_ASSERT_VAL("wrong number of entries", 3 == evlist->nr_entries); 986 987 /* cycles - sampling group leader */ 988 evsel = leader = perf_evlist__first(evlist); 989 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 990 TEST_ASSERT_VAL("wrong config", 991 PERF_COUNT_HW_CPU_CYCLES == evsel->attr.config); 992 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 993 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 994 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 995 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 996 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 997 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 998 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 999 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 1000 TEST_ASSERT_VAL("wrong sample_read", evsel->sample_read); 1001 1002 /* cache-misses - not sampling */ 1003 evsel = perf_evsel__next(evsel); 1004 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 1005 TEST_ASSERT_VAL("wrong config", 1006 PERF_COUNT_HW_CACHE_MISSES == evsel->attr.config); 1007 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 1008 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 1009 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 1010 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 1011 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 1012 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 1013 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 1014 TEST_ASSERT_VAL("wrong sample_read", evsel->sample_read); 1015 1016 /* branch-misses - not sampling */ 1017 evsel = perf_evsel__next(evsel); 1018 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 1019 TEST_ASSERT_VAL("wrong config", 1020 PERF_COUNT_HW_BRANCH_MISSES == evsel->attr.config); 1021 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 1022 TEST_ASSERT_VAL("wrong exclude_kernel", !evsel->attr.exclude_kernel); 1023 TEST_ASSERT_VAL("wrong exclude_hv", !evsel->attr.exclude_hv); 1024 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 1025 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 1026 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 1027 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 1028 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 1029 TEST_ASSERT_VAL("wrong sample_read", evsel->sample_read); 1030 1031 return 0; 1032} 1033 1034static int test__leader_sample2(struct perf_evlist *evlist __maybe_unused) 1035{ 1036 struct perf_evsel *evsel, *leader; 1037 1038 TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); 1039 1040 /* instructions - sampling group leader */ 1041 evsel = leader = perf_evlist__first(evlist); 1042 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 1043 TEST_ASSERT_VAL("wrong config", 1044 PERF_COUNT_HW_INSTRUCTIONS == evsel->attr.config); 1045 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 1046 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 1047 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 1048 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 1049 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 1050 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 1051 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 1052 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 1053 TEST_ASSERT_VAL("wrong sample_read", evsel->sample_read); 1054 1055 /* branch-misses - not sampling */ 1056 evsel = perf_evsel__next(evsel); 1057 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->attr.type); 1058 TEST_ASSERT_VAL("wrong config", 1059 PERF_COUNT_HW_BRANCH_MISSES == evsel->attr.config); 1060 TEST_ASSERT_VAL("wrong exclude_user", !evsel->attr.exclude_user); 1061 TEST_ASSERT_VAL("wrong exclude_kernel", evsel->attr.exclude_kernel); 1062 TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); 1063 TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest); 1064 TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); 1065 TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); 1066 TEST_ASSERT_VAL("wrong group name", !evsel->group_name); 1067 TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); 1068 TEST_ASSERT_VAL("wrong sample_read", evsel->sample_read); 1069 1070 return 0; 1071} 1072 |
|
966static int count_tracepoints(void) 967{ 968 char events_path[PATH_MAX]; 969 struct dirent *events_ent; 970 DIR *events_dir; 971 int cnt = 0; 972 973 scnprintf(events_path, PATH_MAX, "%s/tracing/events", --- 200 unchanged lines hidden (view full) --- 1174 [36] = { 1175 .name = "{cycles:G,cache-misses:H}:u", 1176 .check = test__group_gh3, 1177 }, 1178 [37] = { 1179 .name = "{cycles:G,cache-misses:H}:uG", 1180 .check = test__group_gh4, 1181 }, | 1073static int count_tracepoints(void) 1074{ 1075 char events_path[PATH_MAX]; 1076 struct dirent *events_ent; 1077 DIR *events_dir; 1078 int cnt = 0; 1079 1080 scnprintf(events_path, PATH_MAX, "%s/tracing/events", --- 200 unchanged lines hidden (view full) --- 1281 [36] = { 1282 .name = "{cycles:G,cache-misses:H}:u", 1283 .check = test__group_gh3, 1284 }, 1285 [37] = { 1286 .name = "{cycles:G,cache-misses:H}:uG", 1287 .check = test__group_gh4, 1288 }, |
1289 [38] = { 1290 .name = "{cycles,cache-misses,branch-misses}:S", 1291 .check = test__leader_sample1, 1292 }, 1293 [39] = { 1294 .name = "{instructions,branch-misses}:Su", 1295 .check = test__leader_sample2, 1296 }, |
|
1182}; 1183 1184static struct evlist_test test__events_pmu[] = { 1185 [0] = { 1186 .name = "cpu/config=10,config1,config2=3,period=1000/u", 1187 .check = test__checkevent_pmu, 1188 }, 1189 [1] = { --- 182 unchanged lines hidden --- | 1297}; 1298 1299static struct evlist_test test__events_pmu[] = { 1300 [0] = { 1301 .name = "cpu/config=10,config1,config2=3,period=1000/u", 1302 .check = test__checkevent_pmu, 1303 }, 1304 [1] = { --- 182 unchanged lines hidden --- |