Merge tag 'for-linus-hexagon-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel...
[linux.git] / Documentation / admin-guide / perf / mrvl-pem-pmu.rst
blobc39007149b97340325dc6fdd08c3dbe4c1e7109c
1 =================================================================
2 Marvell Odyssey PEM Performance Monitoring Unit (PMU UNCORE)
3 =================================================================
5 The PCI Express Interface Units(PEM) are associated with a corresponding
6 monitoring unit. This includes performance counters to track various
7 characteristics of the data that is transmitted over the PCIe link.
9 The counters track inbound and outbound transactions which
10 includes separate counters for posted/non-posted/completion TLPs.
11 Also, inbound and outbound memory read requests along with their
12 latencies can also be monitored. Address Translation Services(ATS)events
13 such as ATS Translation, ATS Page Request, ATS Invalidation along with
14 their corresponding latencies are also tracked.
16 There are separate 64 bit counters to measure posted/non-posted/completion
17 tlps in inbound and outbound transactions. ATS events are measured by
18 different counters.
20 The PMU driver exposes the available events and format options under sysfs,
21 /sys/bus/event_source/devices/mrvl_pcie_rc_pmu_<>/events/
22 /sys/bus/event_source/devices/mrvl_pcie_rc_pmu_<>/format/
24 Examples::
26   # perf list | grep mrvl_pcie_rc_pmu
27   mrvl_pcie_rc_pmu_<>/ats_inv/             [Kernel PMU event]
28   mrvl_pcie_rc_pmu_<>/ats_inv_latency/     [Kernel PMU event]
29   mrvl_pcie_rc_pmu_<>/ats_pri/             [Kernel PMU event]
30   mrvl_pcie_rc_pmu_<>/ats_pri_latency/     [Kernel PMU event]
31   mrvl_pcie_rc_pmu_<>/ats_trans/           [Kernel PMU event]
32   mrvl_pcie_rc_pmu_<>/ats_trans_latency/   [Kernel PMU event]
33   mrvl_pcie_rc_pmu_<>/ib_inflight/         [Kernel PMU event]
34   mrvl_pcie_rc_pmu_<>/ib_reads/            [Kernel PMU event]
35   mrvl_pcie_rc_pmu_<>/ib_req_no_ro_ebus/   [Kernel PMU event]
36   mrvl_pcie_rc_pmu_<>/ib_req_no_ro_ncb/    [Kernel PMU event]
37   mrvl_pcie_rc_pmu_<>/ib_tlp_cpl_partid/   [Kernel PMU event]
38   mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_cpl_partid/ [Kernel PMU event]
39   mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_npr/   [Kernel PMU event]
40   mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_pr/    [Kernel PMU event]
41   mrvl_pcie_rc_pmu_<>/ib_tlp_npr/          [Kernel PMU event]
42   mrvl_pcie_rc_pmu_<>/ib_tlp_pr/           [Kernel PMU event]
43   mrvl_pcie_rc_pmu_<>/ob_inflight_partid/  [Kernel PMU event]
44   mrvl_pcie_rc_pmu_<>/ob_merges_cpl_partid/ [Kernel PMU event]
45   mrvl_pcie_rc_pmu_<>/ob_merges_npr_partid/ [Kernel PMU event]
46   mrvl_pcie_rc_pmu_<>/ob_merges_pr_partid/ [Kernel PMU event]
47   mrvl_pcie_rc_pmu_<>/ob_reads_partid/     [Kernel PMU event]
48   mrvl_pcie_rc_pmu_<>/ob_tlp_cpl_partid/   [Kernel PMU event]
49   mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_cpl_partid/ [Kernel PMU event]
50   mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_npr_partid/ [Kernel PMU event]
51   mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_pr_partid/ [Kernel PMU event]
52   mrvl_pcie_rc_pmu_<>/ob_tlp_npr_partid/   [Kernel PMU event]
53   mrvl_pcie_rc_pmu_<>/ob_tlp_pr_partid/    [Kernel PMU event]
56   # perf stat -e ib_inflight,ib_reads,ib_req_no_ro_ebus,ib_req_no_ro_ncb <workload>