Commit eeb6b129 authored by Ian Rogers's avatar Ian Rogers Committed by Arnaldo Carvalho de Melo

perf jevents: Don't append Unit to desc

Unit with the PMU name is appended to desc in jevents.py, but on
hybrid platforms it causes the desc to differ from the regular
non-hybrid system with a PMU of 'cpu'. Having differing descs means
the events don't deduplicate. To make the perf list output not differ,
append the Unit on again in the perf list printing code.

On x86 reduces the binary size by 409,600 bytes or about 4%. Update
pmu-events test expectations to match the differently generated
pmu-events.c code.
Signed-off-by: default avatarIan Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Gaosheng Cui <cuigaosheng1@huawei.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jing Zhang <renyu.zj@linux.alibaba.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Kajol Jain <kjain@linux.ibm.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230824183212.374787-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent f208b2c6
...@@ -145,9 +145,20 @@ static void default_print_event(void *ps, const char *pmu_name, const char *topi ...@@ -145,9 +145,20 @@ static void default_print_event(void *ps, const char *pmu_name, const char *topi
putchar('\n'); putchar('\n');
if (desc && print_state->desc) { if (desc && print_state->desc) {
char *desc_with_unit = NULL;
int desc_len = -1;
if (pmu_name && strcmp(pmu_name, "cpu")) {
desc_len = strlen(desc);
desc_len = asprintf(&desc_with_unit,
desc[desc_len - 1] != '.'
? "%s. Unit: %s" : "%s Unit: %s",
desc, pmu_name);
}
printf("%*s", 8, "["); printf("%*s", 8, "[");
wordwrap(desc, 8, pager_get_columns(), 0); wordwrap(desc_len > 0 ? desc_with_unit : desc, 8, pager_get_columns(), 0);
printf("]\n"); printf("]\n");
free(desc_with_unit);
} }
long_desc = long_desc ?: desc; long_desc = long_desc ?: desc;
if (long_desc && print_state->long_desc) { if (long_desc && print_state->long_desc) {
......
...@@ -357,13 +357,6 @@ class JsonEvent: ...@@ -357,13 +357,6 @@ class JsonEvent:
self.desc += extra_desc self.desc += extra_desc
if self.long_desc and extra_desc: if self.long_desc and extra_desc:
self.long_desc += extra_desc self.long_desc += extra_desc
if self.pmu and self.pmu != 'cpu':
if not self.desc:
self.desc = 'Unit: ' + self.pmu
else:
if not self.desc.endswith('. '):
self.desc += '. '
self.desc += 'Unit: ' + self.pmu
if arch_std: if arch_std:
if arch_std.lower() in _arch_std_events: if arch_std.lower() in _arch_std_events:
event = _arch_std_events[arch_std.lower()].event event = _arch_std_events[arch_std.lower()].event
......
...@@ -129,7 +129,7 @@ static const struct perf_pmu_test_event uncore_hisi_ddrc_flux_wcmd = { ...@@ -129,7 +129,7 @@ static const struct perf_pmu_test_event uncore_hisi_ddrc_flux_wcmd = {
.event = { .event = {
.name = "uncore_hisi_ddrc.flux_wcmd", .name = "uncore_hisi_ddrc.flux_wcmd",
.event = "event=0x2", .event = "event=0x2",
.desc = "DDRC write commands. Unit: hisi_sccl,ddrc", .desc = "DDRC write commands",
.topic = "uncore", .topic = "uncore",
.long_desc = "DDRC write commands", .long_desc = "DDRC write commands",
.pmu = "hisi_sccl,ddrc", .pmu = "hisi_sccl,ddrc",
...@@ -143,7 +143,7 @@ static const struct perf_pmu_test_event unc_cbo_xsnp_response_miss_eviction = { ...@@ -143,7 +143,7 @@ static const struct perf_pmu_test_event unc_cbo_xsnp_response_miss_eviction = {
.event = { .event = {
.name = "unc_cbo_xsnp_response.miss_eviction", .name = "unc_cbo_xsnp_response.miss_eviction",
.event = "event=0x22,umask=0x81", .event = "event=0x22,umask=0x81",
.desc = "A cross-core snoop resulted from L3 Eviction which misses in some processor core. Unit: uncore_cbox", .desc = "A cross-core snoop resulted from L3 Eviction which misses in some processor core",
.topic = "uncore", .topic = "uncore",
.long_desc = "A cross-core snoop resulted from L3 Eviction which misses in some processor core", .long_desc = "A cross-core snoop resulted from L3 Eviction which misses in some processor core",
.pmu = "uncore_cbox", .pmu = "uncore_cbox",
...@@ -157,7 +157,7 @@ static const struct perf_pmu_test_event uncore_hyphen = { ...@@ -157,7 +157,7 @@ static const struct perf_pmu_test_event uncore_hyphen = {
.event = { .event = {
.name = "event-hyphen", .name = "event-hyphen",
.event = "event=0xe0,umask=0x00", .event = "event=0xe0,umask=0x00",
.desc = "UNC_CBO_HYPHEN. Unit: uncore_cbox", .desc = "UNC_CBO_HYPHEN",
.topic = "uncore", .topic = "uncore",
.long_desc = "UNC_CBO_HYPHEN", .long_desc = "UNC_CBO_HYPHEN",
.pmu = "uncore_cbox", .pmu = "uncore_cbox",
...@@ -171,7 +171,7 @@ static const struct perf_pmu_test_event uncore_two_hyph = { ...@@ -171,7 +171,7 @@ static const struct perf_pmu_test_event uncore_two_hyph = {
.event = { .event = {
.name = "event-two-hyph", .name = "event-two-hyph",
.event = "event=0xc0,umask=0x00", .event = "event=0xc0,umask=0x00",
.desc = "UNC_CBO_TWO_HYPH. Unit: uncore_cbox", .desc = "UNC_CBO_TWO_HYPH",
.topic = "uncore", .topic = "uncore",
.long_desc = "UNC_CBO_TWO_HYPH", .long_desc = "UNC_CBO_TWO_HYPH",
.pmu = "uncore_cbox", .pmu = "uncore_cbox",
...@@ -185,7 +185,7 @@ static const struct perf_pmu_test_event uncore_hisi_l3c_rd_hit_cpipe = { ...@@ -185,7 +185,7 @@ static const struct perf_pmu_test_event uncore_hisi_l3c_rd_hit_cpipe = {
.event = { .event = {
.name = "uncore_hisi_l3c.rd_hit_cpipe", .name = "uncore_hisi_l3c.rd_hit_cpipe",
.event = "event=0x7", .event = "event=0x7",
.desc = "Total read hits. Unit: hisi_sccl,l3c", .desc = "Total read hits",
.topic = "uncore", .topic = "uncore",
.long_desc = "Total read hits", .long_desc = "Total read hits",
.pmu = "hisi_sccl,l3c", .pmu = "hisi_sccl,l3c",
...@@ -199,7 +199,7 @@ static const struct perf_pmu_test_event uncore_imc_free_running_cache_miss = { ...@@ -199,7 +199,7 @@ static const struct perf_pmu_test_event uncore_imc_free_running_cache_miss = {
.event = { .event = {
.name = "uncore_imc_free_running.cache_miss", .name = "uncore_imc_free_running.cache_miss",
.event = "event=0x12", .event = "event=0x12",
.desc = "Total cache misses. Unit: uncore_imc_free_running", .desc = "Total cache misses",
.topic = "uncore", .topic = "uncore",
.long_desc = "Total cache misses", .long_desc = "Total cache misses",
.pmu = "uncore_imc_free_running", .pmu = "uncore_imc_free_running",
...@@ -213,7 +213,7 @@ static const struct perf_pmu_test_event uncore_imc_cache_hits = { ...@@ -213,7 +213,7 @@ static const struct perf_pmu_test_event uncore_imc_cache_hits = {
.event = { .event = {
.name = "uncore_imc.cache_hits", .name = "uncore_imc.cache_hits",
.event = "event=0x34", .event = "event=0x34",
.desc = "Total cache hits. Unit: uncore_imc", .desc = "Total cache hits",
.topic = "uncore", .topic = "uncore",
.long_desc = "Total cache hits", .long_desc = "Total cache hits",
.pmu = "uncore_imc", .pmu = "uncore_imc",
...@@ -238,13 +238,13 @@ static const struct perf_pmu_test_event sys_ddr_pmu_write_cycles = { ...@@ -238,13 +238,13 @@ static const struct perf_pmu_test_event sys_ddr_pmu_write_cycles = {
.event = { .event = {
.name = "sys_ddr_pmu.write_cycles", .name = "sys_ddr_pmu.write_cycles",
.event = "event=0x2b", .event = "event=0x2b",
.desc = "ddr write-cycles event. Unit: uncore_sys_ddr_pmu", .desc = "ddr write-cycles event",
.topic = "uncore", .topic = "uncore",
.pmu = "uncore_sys_ddr_pmu", .pmu = "uncore_sys_ddr_pmu",
.compat = "v8", .compat = "v8",
}, },
.alias_str = "event=0x2b", .alias_str = "event=0x2b",
.alias_long_desc = "ddr write-cycles event. Unit: uncore_sys_ddr_pmu", .alias_long_desc = "ddr write-cycles event",
.matching_pmu = "uncore_sys_ddr_pmu", .matching_pmu = "uncore_sys_ddr_pmu",
}; };
...@@ -252,13 +252,13 @@ static const struct perf_pmu_test_event sys_ccn_pmu_read_cycles = { ...@@ -252,13 +252,13 @@ static const struct perf_pmu_test_event sys_ccn_pmu_read_cycles = {
.event = { .event = {
.name = "sys_ccn_pmu.read_cycles", .name = "sys_ccn_pmu.read_cycles",
.event = "config=0x2c", .event = "config=0x2c",
.desc = "ccn read-cycles event. Unit: uncore_sys_ccn_pmu", .desc = "ccn read-cycles event",
.topic = "uncore", .topic = "uncore",
.pmu = "uncore_sys_ccn_pmu", .pmu = "uncore_sys_ccn_pmu",
.compat = "0x01", .compat = "0x01",
}, },
.alias_str = "config=0x2c", .alias_str = "config=0x2c",
.alias_long_desc = "ccn read-cycles event. Unit: uncore_sys_ccn_pmu", .alias_long_desc = "ccn read-cycles event",
.matching_pmu = "uncore_sys_ccn_pmu", .matching_pmu = "uncore_sys_ccn_pmu",
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment