Marvell Odyssey PEM 性能监控单元 (PMU UNCORE)

PCI Express 接口单元 (PEM) 与相应的监控单元关联。这包括性能计数器,用于跟踪通过 PCIe 链路传输的数据的各种特性。

计数器跟踪入站和出站事务,其中包括用于发布式/非发布式/完成式 TLP 的单独计数器。此外,还可以监控入站和出站内存读取请求及其延迟。地址转换服务 (ATS) 事件,如 ATS 转换、ATS 页面请求、ATS 失效及其相应的延迟,也一并跟踪。

有单独的 64 位计数器用于测量入站和出站事务中的发布式/非发布式/完成式 TLP。ATS 事件由不同的计数器测量。

PMU 驱动程序在 sysfs 下暴露可用的事件和格式选项,即 /sys/bus/event_source/devices/mrvl_pcie_rc_pmu_<>/events/ /sys/bus/event_source/devices/mrvl_pcie_rc_pmu_<>/format/

示例

# perf list | grep mrvl_pcie_rc_pmu
mrvl_pcie_rc_pmu_<>/ats_inv/             [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ats_inv_latency/     [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ats_pri/             [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ats_pri_latency/     [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ats_trans/           [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ats_trans_latency/   [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_inflight/         [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_reads/            [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_req_no_ro_ebus/   [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_req_no_ro_ncb/    [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_tlp_cpl_partid/   [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_cpl_partid/ [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_npr/   [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_tlp_dwords_pr/    [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_tlp_npr/          [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ib_tlp_pr/           [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_inflight_partid/  [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_merges_cpl_partid/ [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_merges_npr_partid/ [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_merges_pr_partid/ [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_reads_partid/     [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_tlp_cpl_partid/   [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_cpl_partid/ [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_npr_partid/ [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_tlp_dwords_pr_partid/ [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_tlp_npr_partid/   [Kernel PMU event]
mrvl_pcie_rc_pmu_<>/ob_tlp_pr_partid/    [Kernel PMU event]


# perf stat -e ib_inflight,ib_reads,ib_req_no_ro_ebus,ib_req_no_ro_ncb <workload>