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