linux perf工具测试程序cpu cache刷回实验

本文介绍了如何使用perf工具进行CPU Cache测试,特别是关注刷回事件。通过一个测试程序,分析了不同情况下(normal、clflush、revise、other revise)的刷回次数和性能影响,发现clflush版本的刷回次数与normal相同,可能是perf采样算法导致的。文章提供了相关参考资料供深入学习。
摘要由CSDN通过智能技术生成

一、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进行编写,测试程序主要分为四个小部分:

  1. normal 普通的cpu cache测试程序;
  2. clflush 使用clflush指令刷回cacheline
  3. revise  将数组角标 i,j替换后的cache测试程序
  4. other revise版
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值