天天看点

Linux 内核实时性测试1、实时补丁的移植2、实时测量工具(cyclictest )移植3、cyclictest 参数介绍4、实时测量结果分析

kernel 实时性测试

  • 1、实时补丁的移植
  • 2、实时测量工具(cyclictest )移植
  • 3、cyclictest 参数介绍
  • 4、实时测量结果分析

实时补丁和测试工具下载链接:

  • Linux 系统中不同内核版本的实时补丁包
  • 关于Linux安装RT-PREEMPT实时补丁——参考文章
  • cyclictest 工具源码下载地址
  • Cyclictest 的使用与分析——参考文章

1、实时补丁的移植

  Linux内核版本和 rt 版本尽量保持一致 , 如果实在找不到对应Linux内核版本的 rt 补丁包,可用最近补丁替代,再根据 make uImage 提出的错误做适当修改。(不同Linux内核的实时性有一定的差别,但总体差别不大)

    Linux内核版本为:linux-4.19.94

    rt 版本为:patch-4.19.94-rt38.patch

移植步骤: (提前设置好内核的编译器和架构)

1. cp patch-4.19.94-rt38.patch /home/zsj	# 拷贝 rt 补丁包到 /home/zsj 目录
2. cd /home/zsj/linux-4.19.94   			# 进入内核源码目录
3. patch -p1 <../patch-4.19.94-rt38.patch   # 给内核打入实时补丁包
4. make menuconfig                          # 进入内核的图像化配置界面
5. /PREEMPT_RTB								# 搜素 rt 选项的位置,并进入该位置,勾选 Fully Preemptible Kernel(RT) 后,保存退出
6. make uImage	-j4							# 编译 rt 内核
7. # 替换到原有的 uImage 后,重启即可
8. uname -a									# 检查 rt 移植是否成功
           

2、实时测量工具(cyclictest )移植

Linux 内核实时性测试1、实时补丁的移植2、实时测量工具(cyclictest )移植3、cyclictest 参数介绍4、实时测量结果分析

移植步骤:

1. 下载 rt-tests-1.0.tar.gz 源码,放入 /home/zsj 目录

2. tar xvf rt-tests-1.0.tar.gz			# 解压源码
3. cd rt-tests-1.0						# 进入该目录
4. vim Makefie   						# 修改 Makefile 下的交叉编译器
5. make cyclictest NUMA=0				# 编译后生成 cyclictest, 再将该工具拷贝到开发板,并赋予可执行权限即可
           

3、cyclictest 参数介绍

Linux 内核实时性测试1、实时补丁的移植2、实时测量工具(cyclictest )移植3、cyclictest 参数介绍4、实时测量结果分析
./cyclictest -t1 -p 80 -n -i 10000 -l 10000  		# 单线程测试
./cyclictest -t4 -p 80 -n -i 10000 -l 10000  		# 多线程测试

	-t		# 运行的线程数量
	-p		# 给 cyclictest 赋优先级 80
	-n		# 使用 nanosleep 而不是简单的 sleep
	-i		# 线程的间隔为 10000us ,默认为 1000us
	-l		# 循环的数量,默认无限循环
           

4、实时测量结果分析

打补丁前的测试结果:

Linux 内核实时性测试1、实时补丁的移植2、实时测量工具(cyclictest )移植3、cyclictest 参数介绍4、实时测量结果分析
Linux 内核实时性测试1、实时补丁的移植2、实时测量工具(cyclictest )移植3、cyclictest 参数介绍4、实时测量结果分析

打补丁后的测试结果:

Linux 内核实时性测试1、实时补丁的移植2、实时测量工具(cyclictest )移植3、cyclictest 参数介绍4、实时测量结果分析
Linux 内核实时性测试1、实时补丁的移植2、实时测量工具(cyclictest )移植3、cyclictest 参数介绍4、实时测量结果分析

结果分析:

  打补丁后,系统的实时性有明显的下降,但对于高实时要求的检测或者控制系统而言,其实时效果远远不能满足严格的实时要求。

继续阅读