aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/perf/Kconfig
diff options
context:
space:
mode:
authorBhaskara Budiredla <bbudiredla@marvell.com>2021-11-15 10:05:05 +0530
committerWill Deacon <will@kernel.org>2021-12-14 12:23:01 +0000
commit036a7584bede317d0df6b854e4f531b7a2dd8b33 (patch)
treee1df695ff6d1c69746fc580f8655b2b32b7058d4 /drivers/perf/Kconfig
parentLinux 5.16-rc3 (diff)
downloadlinux-dev-036a7584bede317d0df6b854e4f531b7a2dd8b33.tar.xz
linux-dev-036a7584bede317d0df6b854e4f531b7a2dd8b33.zip
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>
Diffstat (limited to 'drivers/perf/Kconfig')
-rw-r--r--drivers/perf/Kconfig7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig
index 4374af292e6d..8fe825dd0d08 100644
--- a/drivers/perf/Kconfig
+++ b/drivers/perf/Kconfig
@@ -139,6 +139,13 @@ config ARM_DMC620_PMU
Support for PMU events monitoring on the ARM DMC-620 memory
controller.
+config MARVELL_CN10K_TAD_PMU
+ tristate "Marvell CN10K LLC-TAD PMU"
+ depends on ARM64 || (COMPILE_TEST && 64BIT)
+ help
+ Provides support for Last-Level cache Tag-and-data Units (LLC-TAD)
+ performance monitors on CN10K family silicons.
+
source "drivers/perf/hisilicon/Kconfig"
endmenu