xref: /linux/Documentation/admin-guide/perf/mrvl-pem-pmu.rst (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
1*e1dce564SGowthami Thiagarajan=================================================================
2*e1dce564SGowthami ThiagarajanMarvell Odyssey PEM Performance Monitoring Unit (PMU UNCORE)
3*e1dce564SGowthami Thiagarajan=================================================================
4*e1dce564SGowthami Thiagarajan
5*e1dce564SGowthami ThiagarajanThe PCI Express Interface Units(PEM) are associated with a corresponding
6*e1dce564SGowthami Thiagarajanmonitoring unit. This includes performance counters to track various
7*e1dce564SGowthami Thiagarajancharacteristics of the data that is transmitted over the PCIe link.
8*e1dce564SGowthami Thiagarajan
9*e1dce564SGowthami ThiagarajanThe counters track inbound and outbound transactions which
10*e1dce564SGowthami Thiagarajanincludes separate counters for posted/non-posted/completion TLPs.
11*e1dce564SGowthami ThiagarajanAlso, inbound and outbound memory read requests along with their
12*e1dce564SGowthami Thiagarajanlatencies can also be monitored. Address Translation Services(ATS)events
13*e1dce564SGowthami Thiagarajansuch as ATS Translation, ATS Page Request, ATS Invalidation along with
14*e1dce564SGowthami Thiagarajantheir corresponding latencies are also tracked.
15*e1dce564SGowthami Thiagarajan
16*e1dce564SGowthami ThiagarajanThere are separate 64 bit counters to measure posted/non-posted/completion
17*e1dce564SGowthami Thiagarajantlps in inbound and outbound transactions. ATS events are measured by
18*e1dce564SGowthami Thiagarajandifferent counters.
19*e1dce564SGowthami Thiagarajan
20*e1dce564SGowthami ThiagarajanThe PMU driver exposes the available events and format options under sysfs,
21*e1dce564SGowthami Thiagarajan/sys/bus/event_source/devices/mrvl_pcie_rc_pmu_<>/events/
22*e1dce564SGowthami Thiagarajan/sys/bus/event_source/devices/mrvl_pcie_rc_pmu_<>/format/
23*e1dce564SGowthami Thiagarajan
24*e1dce564SGowthami ThiagarajanExamples::
25*e1dce564SGowthami Thiagarajan
26*e1dce564SGowthami Thiagarajan  # perf list | grep mrvl_pcie_rc_pmu
27*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ats_inv/             [Kernel PMU event]
28*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ats_inv_latency/     [Kernel PMU event]
29*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ats_pri/             [Kernel PMU event]
30*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ats_pri_latency/     [Kernel PMU event]
31*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ats_trans/           [Kernel PMU event]
32*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ats_trans_latency/   [Kernel PMU event]
33*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_inflight/         [Kernel PMU event]
34*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_reads/            [Kernel PMU event]
35*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_req_no_ro_ebus/   [Kernel PMU event]
36*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_req_no_ro_ncb/    [Kernel PMU event]
37*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_tlp_cpl_partid/   [Kernel PMU event]
38*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_cpl_partid/ [Kernel PMU event]
39*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_npr/   [Kernel PMU event]
40*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_pr/    [Kernel PMU event]
41*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_tlp_npr/          [Kernel PMU event]
42*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ib_tlp_pr/           [Kernel PMU event]
43*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_inflight_partid/  [Kernel PMU event]
44*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_merges_cpl_partid/ [Kernel PMU event]
45*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_merges_npr_partid/ [Kernel PMU event]
46*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_merges_pr_partid/ [Kernel PMU event]
47*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_reads_partid/     [Kernel PMU event]
48*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_tlp_cpl_partid/   [Kernel PMU event]
49*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_cpl_partid/ [Kernel PMU event]
50*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_npr_partid/ [Kernel PMU event]
51*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_pr_partid/ [Kernel PMU event]
52*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_tlp_npr_partid/   [Kernel PMU event]
53*e1dce564SGowthami Thiagarajan  mrvl_pcie_rc_pmu_<>/ob_tlp_pr_partid/    [Kernel PMU event]
54*e1dce564SGowthami Thiagarajan
55*e1dce564SGowthami Thiagarajan
56*e1dce564SGowthami Thiagarajan  # perf stat -e ib_inflight,ib_reads,ib_req_no_ro_ebus,ib_req_no_ro_ncb <workload>
57