1 ARM Streamline簡介
全稱是 ARM Streamline Performance Analyzer,Streamline是ARM DS-5工具中十分重要的性能分析工具,既支持CPU的性能分析,又支持GPU的性能分析。Streamline以豐富的圖形化界面為用戶提供Timeline,Call Paths, Function,Code,Log等5種視圖,簡單、直觀、易用。
2 架構原理
從架構上講,可以把Streamline分為Host端和target端。在Host端(PC端)運行streamline的GUI,在target端運行一個代理程序,我們稱之為Gator。Host和Gator兩端遵循streamline定義的協議,稱為Target-Host Protocol (該協議基於TCP/IP)。目前Gator實現有兩種形式,一種稱為user space gator,即運行在用戶態的一個應用程序gator daemon,另一種形式需要gator driver的支持,即用戶態的gator daemon和內核態的gator driver協同工作,兩者都需要target上運行Linux Kernel,支持perf接口。那么如果要對GPU進行性能分析,需要使用第二種形式,即使用Gator Driver,同時需要Mali DDK Driver的支持。下圖是Target上運行的Gator的工作機制。
從采樣的報告中可以看到我這里少了一些采樣數據。注意左上角的警告信息,可以看到相關的提示,這里應該設置 /proc/sys/kernel/kptr_restrict 為0以關閉限制。
3 在Android平台上的應用
普通模式(采用user space gator),系統模式(采用kernel space gator)《Building and installing kernel space gator》