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》