04-10
2014
系统级性能调优工具perf成功移植到龙芯处理器
程序优化主要包括算法优化、代码优化和系统级优化,perf是linux内核自带的系统级性能调优工具,2.6.31内核开始引入,目的是实现硬件与操纵系统资源的高效利用。
perf主要包括内核空间的perf事件和用户空间的perf命令,perf框架如下图所示。内核空间的perf事件依赖于cpu的性能监测单元(pmu),是与结构相关的,该功能已经移植到龙芯处理器。用户空间的perf命令源码位于kernel-path/tools/perf目录,将内核源码树拷贝到文件系统中,进入tools/perf目录执行make编译,然后执行make install安装。
perf统计的事件包括:硬件性能事件和软件性能事件。硬件性能事件主要借助于cpu内部的pmu进行统计,龙芯处理器的硬件性能事件主要包括:cpu周期、分支指令、tlb重填例外、cache缺失等。软件性能事件内置于kernel各个功能模块,用于统计与操作系统相关的性能事件,主要包括:系统调用次数、上下文切换次数、任务迁移次数、缺页例外次数等。