linux/drivers/perf
Bhaskara Budiredla 036a7584be drivers: perf: Add LLC-TAD perf counter support
This driver adds support for Last-level cache tag-and-data unit
(LLC-TAD) PMU that is featured in some of the Marvell's CN10K
infrastructure silicons.

The LLC is divided into 2N slices distributed across N Mesh tiles
in a single-socket configuration. The driver always configures the
same counter for all of the TADs. The user would end up effectively
reserving one of eight counters in every TAD to look across all TADs.
The occurrences of events are aggregated and presented to the user
at the end of an application run. The driver does not provide a way
for the user to partition TADs so that different TADs are used for
different applications.

The event counters are zeroed to start event counting to avoid any
rollover issues. TAD perf counters are 64-bit, so it's not currently
possible to overflow event counters at current mesh and core
frequencies.

To measure tad pmu events use perf tool stat command. For instance:

perf stat -e tad_dat_msh_in_dss,tad_req_msh_out_any <application>
perf stat -e tad_alloc_any,tad_hit_any,tad_tag_rd <application>

Signed-off-by: Bhaskara Budiredla <bbudiredla@marvell.com>
Link: https://lore.kernel.org/r/20211115043506.6679-2-bbudiredla@marvell.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-12-14 12:23:01 +00:00
..
hisilicon drivers/perf: hisi: Fix PA PMU counter offset 2021-10-04 13:10:14 +01:00
arm-cci.c drivers/perf: arm-cci: Fix checkpatch spacing error 2021-05-25 18:59:23 +01:00
arm-ccn.c perf/arm-ccn: Use irq_set_affinity() 2021-05-24 11:01:59 +01:00
arm-cmn.c perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number 2021-06-17 19:45:02 +01:00
arm_dmc620_pmu.c perf/arm-dmc620: Use irq_set_affinity() 2021-05-24 11:01:59 +01:00
arm_dsu_pmu.c perf/arm-dsu: Use irq_set_affinity() 2021-05-24 11:02:00 +01:00
arm_pmu.c KVM: arm64: Fix PMU probe ordering 2021-09-20 12:43:34 +01:00
arm_pmu_acpi.c drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer 2020-03-02 12:07:35 +00:00
arm_pmu_platform.c perf/arm_pmu_platform: Clean up with dev_printk 2021-03-30 11:41:50 +01:00
arm_smmuv3_pmu.c drivers/perf: Simplify EVENT ATTR macro in SMMU PMU driver 2021-06-11 11:18:40 +01:00
arm_spe_pmu.c perf: arm_spe: use DEVICE_ATTR_RO macro 2021-06-01 14:25:09 +01:00
fsl_imx8_ddr_perf.c drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe() 2021-06-17 19:45:24 +01:00
Kconfig drivers: perf: Add LLC-TAD perf counter support 2021-12-14 12:23:01 +00:00
Makefile drivers: perf: Add LLC-TAD perf counter support 2021-12-14 12:23:01 +00:00
marvell_cn10k_tad_pmu.c drivers: perf: Add LLC-TAD perf counter support 2021-12-14 12:23:01 +00:00
qcom_l2_pmu.c perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly 2021-10-27 20:38:22 +02:00
qcom_l3_pmu.c drivers/perf: Simplify EVENT ATTR macro in qcom_l3_pmu.c 2021-06-11 11:18:40 +01:00
thunderx2_pmu.c drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update() 2021-10-04 13:13:11 +01:00
xgene_pmu.c drivers/perf: Simplify EVENT ATTR macro in xgene_pmu.c 2021-06-11 11:18:40 +01:00