Skip to content

Commit 4dd0a97

Browse files
Leo-Yangregkh
authored andcommitted
perf arm-spe: Rename the common data source encoding
[ Upstream commit 50b8f1d ] The Neoverse CPUs follow the common data source encoding, and other CPU variants can share the same format. Rename the CPU list and data source definitions as common data source names. This change prepares for appending more CPU variants. Signed-off-by: Leo Yan <[email protected]> Reviewed-by: James Clark <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Namhyung Kim <[email protected]> Stable-dep-of: cb300e3 ("perf arm_spe: Correct memory level for remote access") Signed-off-by: Sasha Levin <[email protected]>
1 parent ec29c3e commit 4dd0a97

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

tools/perf/util/arm-spe-decoder/arm-spe-decoder.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ enum arm_spe_op_type {
5656
ARM_SPE_OP_BR_INDIRECT = 1 << 17,
5757
};
5858

59-
enum arm_spe_neoverse_data_source {
60-
ARM_SPE_NV_L1D = 0x0,
61-
ARM_SPE_NV_L2 = 0x8,
62-
ARM_SPE_NV_PEER_CORE = 0x9,
63-
ARM_SPE_NV_LOCAL_CLUSTER = 0xa,
64-
ARM_SPE_NV_SYS_CACHE = 0xb,
65-
ARM_SPE_NV_PEER_CLUSTER = 0xc,
66-
ARM_SPE_NV_REMOTE = 0xd,
67-
ARM_SPE_NV_DRAM = 0xe,
59+
enum arm_spe_common_data_source {
60+
ARM_SPE_COMMON_DS_L1D = 0x0,
61+
ARM_SPE_COMMON_DS_L2 = 0x8,
62+
ARM_SPE_COMMON_DS_PEER_CORE = 0x9,
63+
ARM_SPE_COMMON_DS_LOCAL_CLUSTER = 0xa,
64+
ARM_SPE_COMMON_DS_SYS_CACHE = 0xb,
65+
ARM_SPE_COMMON_DS_PEER_CLUSTER = 0xc,
66+
ARM_SPE_COMMON_DS_REMOTE = 0xd,
67+
ARM_SPE_COMMON_DS_DRAM = 0xe,
6868
};
6969

7070
struct arm_spe_record {

tools/perf/util/arm-spe.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -411,15 +411,15 @@ static int arm_spe__synth_instruction_sample(struct arm_spe_queue *speq,
411411
return arm_spe_deliver_synth_event(spe, speq, event, &sample);
412412
}
413413

414-
static const struct midr_range neoverse_spe[] = {
414+
static const struct midr_range common_ds_encoding_cpus[] = {
415415
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N1),
416416
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
417417
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V1),
418418
{},
419419
};
420420

421-
static void arm_spe__synth_data_source_neoverse(const struct arm_spe_record *record,
422-
union perf_mem_data_src *data_src)
421+
static void arm_spe__synth_data_source_common(const struct arm_spe_record *record,
422+
union perf_mem_data_src *data_src)
423423
{
424424
/*
425425
* Even though four levels of cache hierarchy are possible, no known
@@ -441,17 +441,17 @@ static void arm_spe__synth_data_source_neoverse(const struct arm_spe_record *rec
441441
}
442442

443443
switch (record->source) {
444-
case ARM_SPE_NV_L1D:
444+
case ARM_SPE_COMMON_DS_L1D:
445445
data_src->mem_lvl = PERF_MEM_LVL_L1 | PERF_MEM_LVL_HIT;
446446
data_src->mem_lvl_num = PERF_MEM_LVLNUM_L1;
447447
data_src->mem_snoop = PERF_MEM_SNOOP_NONE;
448448
break;
449-
case ARM_SPE_NV_L2:
449+
case ARM_SPE_COMMON_DS_L2:
450450
data_src->mem_lvl = PERF_MEM_LVL_L2 | PERF_MEM_LVL_HIT;
451451
data_src->mem_lvl_num = PERF_MEM_LVLNUM_L2;
452452
data_src->mem_snoop = PERF_MEM_SNOOP_NONE;
453453
break;
454-
case ARM_SPE_NV_PEER_CORE:
454+
case ARM_SPE_COMMON_DS_PEER_CORE:
455455
data_src->mem_lvl = PERF_MEM_LVL_L2 | PERF_MEM_LVL_HIT;
456456
data_src->mem_lvl_num = PERF_MEM_LVLNUM_L2;
457457
data_src->mem_snoopx = PERF_MEM_SNOOPX_PEER;
@@ -460,16 +460,16 @@ static void arm_spe__synth_data_source_neoverse(const struct arm_spe_record *rec
460460
* We don't know if this is L1, L2 but we do know it was a cache-2-cache
461461
* transfer, so set SNOOPX_PEER
462462
*/
463-
case ARM_SPE_NV_LOCAL_CLUSTER:
464-
case ARM_SPE_NV_PEER_CLUSTER:
463+
case ARM_SPE_COMMON_DS_LOCAL_CLUSTER:
464+
case ARM_SPE_COMMON_DS_PEER_CLUSTER:
465465
data_src->mem_lvl = PERF_MEM_LVL_L3 | PERF_MEM_LVL_HIT;
466466
data_src->mem_lvl_num = PERF_MEM_LVLNUM_L3;
467467
data_src->mem_snoopx = PERF_MEM_SNOOPX_PEER;
468468
break;
469469
/*
470470
* System cache is assumed to be L3
471471
*/
472-
case ARM_SPE_NV_SYS_CACHE:
472+
case ARM_SPE_COMMON_DS_SYS_CACHE:
473473
data_src->mem_lvl = PERF_MEM_LVL_L3 | PERF_MEM_LVL_HIT;
474474
data_src->mem_lvl_num = PERF_MEM_LVLNUM_L3;
475475
data_src->mem_snoop = PERF_MEM_SNOOP_HIT;
@@ -478,13 +478,13 @@ static void arm_spe__synth_data_source_neoverse(const struct arm_spe_record *rec
478478
* We don't know what level it hit in, except it came from the other
479479
* socket
480480
*/
481-
case ARM_SPE_NV_REMOTE:
481+
case ARM_SPE_COMMON_DS_REMOTE:
482482
data_src->mem_lvl = PERF_MEM_LVL_REM_CCE1;
483483
data_src->mem_lvl_num = PERF_MEM_LVLNUM_ANY_CACHE;
484484
data_src->mem_remote = PERF_MEM_REMOTE_REMOTE;
485485
data_src->mem_snoopx = PERF_MEM_SNOOPX_PEER;
486486
break;
487-
case ARM_SPE_NV_DRAM:
487+
case ARM_SPE_COMMON_DS_DRAM:
488488
data_src->mem_lvl = PERF_MEM_LVL_LOC_RAM | PERF_MEM_LVL_HIT;
489489
data_src->mem_lvl_num = PERF_MEM_LVLNUM_RAM;
490490
data_src->mem_snoop = PERF_MEM_SNOOP_NONE;
@@ -520,7 +520,7 @@ static void arm_spe__synth_data_source_generic(const struct arm_spe_record *reco
520520
static u64 arm_spe__synth_data_source(const struct arm_spe_record *record, u64 midr)
521521
{
522522
union perf_mem_data_src data_src = { .mem_op = PERF_MEM_OP_NA };
523-
bool is_neoverse = is_midr_in_range_list(midr, neoverse_spe);
523+
bool is_common = is_midr_in_range_list(midr, common_ds_encoding_cpus);
524524

525525
/* Only synthesize data source for LDST operations */
526526
if (!is_ldst_op(record->op))
@@ -533,8 +533,8 @@ static u64 arm_spe__synth_data_source(const struct arm_spe_record *record, u64 m
533533
else
534534
return 0;
535535

536-
if (is_neoverse)
537-
arm_spe__synth_data_source_neoverse(record, &data_src);
536+
if (is_common)
537+
arm_spe__synth_data_source_common(record, &data_src);
538538
else
539539
arm_spe__synth_data_source_generic(record, &data_src);
540540

0 commit comments

Comments
 (0)