一、perf安装
进入自己编译的内核,一般目录是:
/usr/src/linux-x.x.x/tools/perf
编译安装之后,即可使用
make
make install
perf的使用可以查看本文参考文献1,下面介绍一下perf工具中与cache相关的内容
sudo perf list cache
与cache有关的事件都是Hardware cache event,这类的事件依赖于PMU(performance monitoring unit),一般处理器厂商都会在硬件中加入了 PMU 单元, PMU可以让我们对某种硬件事件设置counter,一旦发生这种事件,处理器就会统计该事件发生的次数,一旦发生的次数超过设置的counter,便会产生中断。
可以看到与刷回有关的事件是:LLC-stores
下面结合一个程序,来了解perf对于应用程序cacheline刷回事件的追踪~
二、测试程序
测试程序结合参考文献2、3进行编写,测试程序主要分为四个小部分:
- normal 普通的cpu cache测试程序;
- clflush 使用clflush指令刷回cacheline
- revise 将数组角标 i,j替换后的cache测试程序
- other revise版