perf test: Add pmu-event test for "Compat" and new event_field.
authorJing Zhang <renyu.zj@linux.alibaba.com>
Wed, 27 Sep 2023 05:59:49 +0000 (13:59 +0800)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 28 Sep 2023 04:02:41 +0000 (21:02 -0700)
Add new event test for uncore system event which is used to verify the
functionality of "Compat" matching multiple identifiers and the new event
fields "EventidCode" and "NodeType".

Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Tested-by: Ian Rogers <irogers@google.com>
Cc: James Clark <james.clark@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Shuai Xue <xueshuai@linux.alibaba.com>
Cc: Zhuo Song <zhuo.song@linux.alibaba.com>
Cc: John Garry <john.g.garry@oracle.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-doc@vger.kernel.org
Link: https://lore.kernel.org/r/1695794391-34817-6-git-send-email-renyu.zj@linux.alibaba.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/pmu-events/arch/test/test_soc/sys/uncore.json
tools/perf/pmu-events/empty-pmu-events.c
tools/perf/tests/pmu-events.c

index c7e7528db3158f2caecbea67059efbf347a97dc3..4d423b149ad128f64e82fc94483d6b764a66ef52 100644 (file)
            "EventName": "sys_ccn_pmu.read_cycles",
            "Unit": "sys_ccn_pmu",
            "Compat": "0x01"
+   },
+   {
+           "BriefDescription": "Counts total cache misses in first lookup result (high priority)",
+           "EventidCode": "0x1",
+           "NodeType": "0x5",
+           "EventName": "sys_cmn_pmu.hnf_cache_miss",
+           "Unit": "sys_cmn_pmu",
+           "Compat": "(434|436|43c|43a).*"
    }
 ]
index 12bd043a05e3579d090ffbc252a8852afad3036f..13727421d424b1e37972d38f90fce4c3d60181c9 100644 (file)
@@ -244,6 +244,14 @@ static const struct pmu_event pmu_events__test_soc_sys[] = {
                .topic = "uncore",
                .pmu = "uncore_sys_ccn_pmu",
        },
+       {
+               .name = "sys_cmn_pmu.hnf_cache_miss",
+               .event = "eventid=0x1,type=0x5",
+               .desc = "Counts total cache misses in first lookup result (high priority). Unit: uncore_sys_cmn_pmu ",
+               .compat = "(434|436|43c|43a).*",
+               .topic = "uncore",
+               .pmu = "uncore_sys_cmn_pmu",
+       },
        {
                .name = 0,
                .event = 0,
index 0cf572f7c1e705074f7e3ac193721f6e45e24ed6..a56d32905743a00aa49d62fde542b426ee96ab5d 100644 (file)
@@ -262,9 +262,24 @@ static const struct perf_pmu_test_event sys_ccn_pmu_read_cycles = {
        .matching_pmu = "uncore_sys_ccn_pmu4",
 };
 
+static const struct perf_pmu_test_event sys_cmn_pmu_hnf_cache_miss = {
+       .event = {
+               .name = "sys_cmn_pmu.hnf_cache_miss",
+               .event = "eventid=0x1,type=0x5",
+               .desc = "Counts total cache misses in first lookup result (high priority)",
+               .topic = "uncore",
+               .pmu = "uncore_sys_cmn_pmu",
+               .compat = "(434|436|43c|43a).*",
+       },
+       .alias_str = "eventid=0x1,type=0x5",
+       .alias_long_desc = "Counts total cache misses in first lookup result (high priority)",
+       .matching_pmu = "uncore_sys_cmn_pmu0",
+};
+
 static const struct perf_pmu_test_event *sys_events[] = {
        &sys_ddr_pmu_write_cycles,
        &sys_ccn_pmu_read_cycles,
+       &sys_cmn_pmu_hnf_cache_miss,
        NULL
 };
 
@@ -707,6 +722,46 @@ static struct perf_pmu_test_pmu test_pmus[] = {
                        &sys_ccn_pmu_read_cycles,
                },
        },
+       {
+               .pmu = {
+                       .name = (char *)"uncore_sys_cmn_pmu0",
+                       .is_uncore = 1,
+                       .id = (char *)"43401",
+               },
+               .aliases = {
+                       &sys_cmn_pmu_hnf_cache_miss,
+               },
+       },
+       {
+               .pmu = {
+                       .name = (char *)"uncore_sys_cmn_pmu0",
+                       .is_uncore = 1,
+                       .id = (char *)"43602",
+               },
+               .aliases = {
+                       &sys_cmn_pmu_hnf_cache_miss,
+               },
+       },
+       {
+               .pmu = {
+                       .name = (char *)"uncore_sys_cmn_pmu0",
+                       .is_uncore = 1,
+                       .id = (char *)"43c03",
+               },
+               .aliases = {
+                       &sys_cmn_pmu_hnf_cache_miss,
+               },
+       },
+       {
+               .pmu = {
+                       .name = (char *)"uncore_sys_cmn_pmu0",
+                       .is_uncore = 1,
+                       .id = (char *)"43a01",
+               },
+               .aliases = {
+                       &sys_cmn_pmu_hnf_cache_miss,
+               },
+       }
 };
 
 /* Test that aliases generated are as expected */