xref: /linux/Documentation/admin-guide/perf/mrvl-odyssey-tad-pmu.rst (revision 9ad09c4f2868540130ad2d5dfe265f55c75c1705)
1*5fcccba1SGowthami Thiagarajan====================================================================
2*5fcccba1SGowthami ThiagarajanMarvell Odyssey LLC-TAD Performance Monitoring Unit (PMU UNCORE)
3*5fcccba1SGowthami Thiagarajan====================================================================
4*5fcccba1SGowthami Thiagarajan
5*5fcccba1SGowthami ThiagarajanEach TAD provides eight 64-bit counters for monitoring
6*5fcccba1SGowthami Thiagarajancache behavior.The driver always configures the same counter for
7*5fcccba1SGowthami Thiagarajanall the TADs. The user would end up effectively reserving one of
8*5fcccba1SGowthami Thiagarajaneight counters in every TAD to look across all TADs.
9*5fcccba1SGowthami ThiagarajanThe occurrences of events are aggregated and presented to the user
10*5fcccba1SGowthami Thiagarajanat the end of running the workload. The driver does not provide a
11*5fcccba1SGowthami Thiagarajanway for the user to partition TADs so that different TADs are used for
12*5fcccba1SGowthami Thiagarajandifferent applications.
13*5fcccba1SGowthami Thiagarajan
14*5fcccba1SGowthami ThiagarajanThe performance events reflect various internal or interface activities.
15*5fcccba1SGowthami ThiagarajanBy combining the values from multiple performance counters, cache
16*5fcccba1SGowthami Thiagarajanperformance can be measured in terms such as: cache miss rate, cache
17*5fcccba1SGowthami Thiagarajanallocations, interface retry rate, internal resource occupancy, etc.
18*5fcccba1SGowthami Thiagarajan
19*5fcccba1SGowthami ThiagarajanThe PMU driver exposes the available events and format options under sysfs::
20*5fcccba1SGowthami Thiagarajan
21*5fcccba1SGowthami Thiagarajan        /sys/bus/event_source/devices/tad/events/
22*5fcccba1SGowthami Thiagarajan        /sys/bus/event_source/devices/tad/format/
23*5fcccba1SGowthami Thiagarajan
24*5fcccba1SGowthami ThiagarajanExamples::
25*5fcccba1SGowthami Thiagarajan
26*5fcccba1SGowthami Thiagarajan   $ perf list | grep tad
27*5fcccba1SGowthami Thiagarajan        tad/tad_alloc_any/                                 [Kernel PMU event]
28*5fcccba1SGowthami Thiagarajan        tad/tad_alloc_dtg/                                 [Kernel PMU event]
29*5fcccba1SGowthami Thiagarajan        tad/tad_alloc_ltg/                                 [Kernel PMU event]
30*5fcccba1SGowthami Thiagarajan        tad/tad_hit_any/                                   [Kernel PMU event]
31*5fcccba1SGowthami Thiagarajan        tad/tad_hit_dtg/                                   [Kernel PMU event]
32*5fcccba1SGowthami Thiagarajan        tad/tad_hit_ltg/                                   [Kernel PMU event]
33*5fcccba1SGowthami Thiagarajan        tad/tad_req_msh_in_exlmn/                          [Kernel PMU event]
34*5fcccba1SGowthami Thiagarajan        tad/tad_tag_rd/                                    [Kernel PMU event]
35*5fcccba1SGowthami Thiagarajan        tad/tad_tot_cycle/                                 [Kernel PMU event]
36*5fcccba1SGowthami Thiagarajan
37*5fcccba1SGowthami Thiagarajan   $ perf stat -e tad_alloc_dtg,tad_alloc_ltg,tad_alloc_any,tad_hit_dtg,tad_hit_ltg,tad_hit_any,tad_tag_rd <workload>
38