diff mbox series

[v7,5/8] perf test: Make matching_pmu effective

Message ID 1692606977-92009-6-git-send-email-renyu.zj@linux.alibaba.com (mailing list archive)
State New, archived
Headers show
Series perf vendor events: Add JSON metrics for Arm CMN | expand

Commit Message

Jing Zhang Aug. 21, 2023, 8:36 a.m. UTC
The perf_pmu_test_event.matching_pmu didn't work. No matter what its
value is, it does not affect the test results. So let matching_pmu be
used for matching perf_pmu_test_pmu.pmu.name.

Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
Reviewed-by: John Garry <john.g.garry@oracle.com>
---
 tools/perf/tests/pmu-events.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Ian Rogers Aug. 25, 2023, 4:27 a.m. UTC | #1
On Mon, Aug 21, 2023 at 1:36 AM Jing Zhang <renyu.zj@linux.alibaba.com> wrote:
>
> The perf_pmu_test_event.matching_pmu didn't work. No matter what its
> value is, it does not affect the test results. So let matching_pmu be
> used for matching perf_pmu_test_pmu.pmu.name.

Could you rebase this onto the latest perf-tools-next, I'd like to test this.

Thanks,
Ian

> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
> Reviewed-by: John Garry <john.g.garry@oracle.com>
> ---
>  tools/perf/tests/pmu-events.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/tests/pmu-events.c b/tools/perf/tests/pmu-events.c
> index 1dff863b..3204252 100644
> --- a/tools/perf/tests/pmu-events.c
> +++ b/tools/perf/tests/pmu-events.c
> @@ -238,7 +238,7 @@ struct perf_pmu_test_pmu {
>         },
>         .alias_str = "event=0x2b",
>         .alias_long_desc = "ddr write-cycles event. Unit: uncore_sys_ddr_pmu ",
> -       .matching_pmu = "uncore_sys_ddr_pmu",
> +       .matching_pmu = "uncore_sys_ddr_pmu0",
>  };
>
>  static const struct perf_pmu_test_event sys_ccn_pmu_read_cycles = {
> @@ -252,7 +252,7 @@ struct perf_pmu_test_pmu {
>         },
>         .alias_str = "config=0x2c",
>         .alias_long_desc = "ccn read-cycles event. Unit: uncore_sys_ccn_pmu ",
> -       .matching_pmu = "uncore_sys_ccn_pmu",
> +       .matching_pmu = "uncore_sys_ccn_pmu4",
>  };
>
>  static const struct perf_pmu_test_event *sys_events[] = {
> @@ -599,6 +599,11 @@ static int __test_uncore_pmu_event_aliases(struct perf_pmu_test_pmu *test_pmu)
>                         struct pmu_event const *event = &test_event->event;
>
>                         if (!strcmp(event->name, alias->name)) {
> +                               if (strcmp(pmu_name, test_event->matching_pmu)) {
> +                                       pr_debug("testing aliases uncore PMU %s: mismatched matching_pmu, %s vs %s\n",
> +                                                       pmu_name, test_event->matching_pmu, pmu_name);
> +                                       continue;
> +                               }
>                                 if (compare_alias_to_test_event(alias,
>                                                         test_event,
>                                                         pmu_name)) {
> --
> 1.8.3.1
>
Jing Zhang Aug. 25, 2023, 6:30 a.m. UTC | #2
在 2023/8/25 下午12:27, Ian Rogers 写道:
> On Mon, Aug 21, 2023 at 1:36 AM Jing Zhang <renyu.zj@linux.alibaba.com> wrote:
>>
>> The perf_pmu_test_event.matching_pmu didn't work. No matter what its
>> value is, it does not affect the test results. So let matching_pmu be
>> used for matching perf_pmu_test_pmu.pmu.name.
> 
> Could you rebase this onto the latest perf-tools-next, I'd like to test this.
> 

Ok, I will rebase it onto the latest perf-tools-next in next version.

Thanks,
Jing

> Thanks,
> Ian
> 
>> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
>> Reviewed-by: John Garry <john.g.garry@oracle.com>
>> ---
>>  tools/perf/tests/pmu-events.c | 9 +++++++--
>>  1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/perf/tests/pmu-events.c b/tools/perf/tests/pmu-events.c
>> index 1dff863b..3204252 100644
>> --- a/tools/perf/tests/pmu-events.c
>> +++ b/tools/perf/tests/pmu-events.c
>> @@ -238,7 +238,7 @@ struct perf_pmu_test_pmu {
>>         },
>>         .alias_str = "event=0x2b",
>>         .alias_long_desc = "ddr write-cycles event. Unit: uncore_sys_ddr_pmu ",
>> -       .matching_pmu = "uncore_sys_ddr_pmu",
>> +       .matching_pmu = "uncore_sys_ddr_pmu0",
>>  };
>>
>>  static const struct perf_pmu_test_event sys_ccn_pmu_read_cycles = {
>> @@ -252,7 +252,7 @@ struct perf_pmu_test_pmu {
>>         },
>>         .alias_str = "config=0x2c",
>>         .alias_long_desc = "ccn read-cycles event. Unit: uncore_sys_ccn_pmu ",
>> -       .matching_pmu = "uncore_sys_ccn_pmu",
>> +       .matching_pmu = "uncore_sys_ccn_pmu4",
>>  };
>>
>>  static const struct perf_pmu_test_event *sys_events[] = {
>> @@ -599,6 +599,11 @@ static int __test_uncore_pmu_event_aliases(struct perf_pmu_test_pmu *test_pmu)
>>                         struct pmu_event const *event = &test_event->event;
>>
>>                         if (!strcmp(event->name, alias->name)) {
>> +                               if (strcmp(pmu_name, test_event->matching_pmu)) {
>> +                                       pr_debug("testing aliases uncore PMU %s: mismatched matching_pmu, %s vs %s\n",
>> +                                                       pmu_name, test_event->matching_pmu, pmu_name);
>> +                                       continue;
>> +                               }
>>                                 if (compare_alias_to_test_event(alias,
>>                                                         test_event,
>>                                                         pmu_name)) {
>> --
>> 1.8.3.1
>>
diff mbox series

Patch

diff --git a/tools/perf/tests/pmu-events.c b/tools/perf/tests/pmu-events.c
index 1dff863b..3204252 100644
--- a/tools/perf/tests/pmu-events.c
+++ b/tools/perf/tests/pmu-events.c
@@ -238,7 +238,7 @@  struct perf_pmu_test_pmu {
 	},
 	.alias_str = "event=0x2b",
 	.alias_long_desc = "ddr write-cycles event. Unit: uncore_sys_ddr_pmu ",
-	.matching_pmu = "uncore_sys_ddr_pmu",
+	.matching_pmu = "uncore_sys_ddr_pmu0",
 };
 
 static const struct perf_pmu_test_event sys_ccn_pmu_read_cycles = {
@@ -252,7 +252,7 @@  struct perf_pmu_test_pmu {
 	},
 	.alias_str = "config=0x2c",
 	.alias_long_desc = "ccn read-cycles event. Unit: uncore_sys_ccn_pmu ",
-	.matching_pmu = "uncore_sys_ccn_pmu",
+	.matching_pmu = "uncore_sys_ccn_pmu4",
 };
 
 static const struct perf_pmu_test_event *sys_events[] = {
@@ -599,6 +599,11 @@  static int __test_uncore_pmu_event_aliases(struct perf_pmu_test_pmu *test_pmu)
 			struct pmu_event const *event = &test_event->event;
 
 			if (!strcmp(event->name, alias->name)) {
+				if (strcmp(pmu_name, test_event->matching_pmu)) {
+					pr_debug("testing aliases uncore PMU %s: mismatched matching_pmu, %s vs %s\n",
+							pmu_name, test_event->matching_pmu, pmu_name);
+					continue;
+				}
 				if (compare_alias_to_test_event(alias,
 							test_event,
 							pmu_name)) {