• Bhaskara Budiredla's avatar
    drivers: perf: Add LLC-TAD perf counter support · 036a7584
    Bhaskara Budiredla authored
    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: default avatarBhaskara Budiredla <bbudiredla@marvell.com>
    Link: https://lore.kernel.org/r/20211115043506.6679-2-bbudiredla@marvell.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
    036a7584
Kconfig 4.46 KB