Amlogic SoC DDR頻寬效能監控單元 (PMU)

Amlogic Meson G12 SoC 在 DRAM 控制器內部包含一個頻寬監控器。 該監控器包括 4 個通道。 每個通道都可以計算訪問 DRAM 的請求。 該通道最多可以同時計算 3 個 AXI 埠。 它可以幫助顯示效能瓶頸是否在 DDR 頻寬上。

目前,該驅動程式支援以下 5 個 perf 事件

  • meson_ddr_bw/total_rw_bytes/

  • meson_ddr_bw/chan_1_rw_bytes/

  • meson_ddr_bw/chan_2_rw_bytes/

  • meson_ddr_bw/chan_3_rw_bytes/

  • meson_ddr_bw/chan_4_rw_bytes/

meson_ddr_bw/chan_{1,2,3,4}_rw_bytes/ 事件是特定於通道的事件。 每個通道都支援過濾,這可以讓通道監控 SoC 中的單個 IP 模組。

以下是 DDR 訪問請求事件過濾器關鍵字

  • arm - 來自 CPU

  • vpu_read1 - 來自 OSD + VPP 讀取

  • gpu - 來自 3D GPU

  • pcie - 來自 PCIe 控制器

  • hdcp - 來自 HDCP 控制器

  • hevc_front - 來自 HEVC 編解碼器前端

  • usb3_0 - 來自 USB3.0 控制器

  • hevc_back - 來自 HEVC 編解碼器後端

  • h265enc - 來自 HEVC 編碼器

  • vpu_read2 - 來自 DI 讀取

  • vpu_write1 - 來自 VDIN 寫入

  • vpu_write2 - 來自 di 寫入

  • vdec - 來自舊版編解碼器影片解碼器

  • hcodec - 來自 H264 編碼器

  • ge2d - 來自 ge2d

  • spicc1 - 來自 SPI 控制器 1

  • usb0 - 來自 USB2.0 控制器 0

  • dma - 來自系統 DMA 控制器 1

  • arb0 - 來自 arb0

  • sd_emmc_b - 來自 SD eMMC b 控制器

  • usb1 - 來自 USB2.0 控制器 1

  • audio - 來自音訊模組

  • sd_emmc_c - 來自 SD eMMC c 控制器

  • spicc2 - 來自 SPI 控制器 2

  • ethernet - 來自乙太網控制器

示例

  • 顯示每秒總 DDR 頻寬

    perf stat -a -e meson_ddr_bw/total_rw_bytes/ -I 1000 sleep 10
    
  • 分別顯示來自 CPU 和 GPU 的各個 DDR 頻寬,以及它們的總和

    perf stat -a -e meson_ddr_bw/chan_1_rw_bytes,arm=1/ -I 1000 sleep 10
    perf stat -a -e meson_ddr_bw/chan_2_rw_bytes,gpu=1/ -I 1000 sleep 10
    perf stat -a -e meson_ddr_bw/chan_3_rw_bytes,arm=1,gpu=1/ -I 1000 sleep 10