内核real time patch测试

使用cyclictest测试real-time补丁对系统实时性的改善

打补丁

查看内核版本

vim Makefile
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 1
SUBLEV

下载和内核版本相近的补丁

https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.1/patch-6.1.28-rt10.patch.gz

测试补丁

git apply --check patch-6.1.28-rt10.patch

应用补丁

git apply --reject patch-6.1.28-rt10.patch

编译内核,选择

CONFIG_PREEMPT_RT

测试系统延迟

下载测试工具

git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git

检出v1.0

git checkout v1.0

安装依赖

sudo apt install libnuma-dev

修改工具链

CC=arm-linux-gnueabihf-gcc
AR=arm-linux-gnueabihf-gcc-ar

编译

make

8个yes将将cpu负载跑起来

yes > /dev/null &

测试

./cyclictest -l10000 -m -n -t8 -p99 -i2000 -h100

结果

不打入补丁

# ./cyclictest -l10000 -m -n -t8 -p99 -i2000 -h100
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 3.97 1.30 0.47 9/62 150
policy: fifo: loadavg: 4.59 1.52 0.55 9/61 150
T: 0 (  143) P:99 I:2000 C:   3855 Min:     17 Act:   20 Avg:   21 Max:      57
T: 0 (  143) P:99 I:2000 C:  10000 Min:     17 Act:   22 Avg:   22 Max:    6048
T: 1 (  144) P:99 I:2000 C:   9992 Min:     18 Act:   19 Avg:   20 Max:      36
T: 2 (  145) P:99 I:2000 C:   9920 Min:     17 Act:   46 Avg:   55 Max:    6046
T: 3 (  146) P:99 I:2000 C:   9859 Min:     19 Act:   32 Avg:   39 Max:    5986
T: 4 (  147) P:99 I:2000 C:   9800 Min:     29 Act:   61 Avg:   50 Max:    5948
T: 5 (  148) P:99 I:2000 C:   9744 Min:     29 Act:   67 Avg:   58 Max:     119
T: 6 (  149) P:99 I:2000 C:   9679 Min:     16 Act:   21 Avg:   19 Max:      44
T: 7 (  150) P:99 I:2000 C:   9623 Min:     17 Act:   51 Avg:   40 Max:     107

打入补丁

# ./cyclictest -l10000 -m -n -t8 -p99 -i2000 -h100
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 4.07 1.01 0.34 9/91 141

T: 0 (  134) P:99 I:2000 C:  10000 Min:     19 Act:   20 Avg:   22 Max:      60
T: 1 (  135) P:99 I:2000 C:  10000 Min:     18 Act:   21 Avg:   20 Max:      34
T: 2 (  136) P:99 I:2000 C:   9989 Min:     19 Act:   44 Avg:   43 Max:      87
T: 3 (  137) P:99 I:2000 C:   9924 Min:     19 Act:   23 Avg:   19 Max:      31
T: 4 (  138) P:99 I:2000 C:   9852 Min:     18 Act:   21 Avg:   19 Max:      25
T: 5 (  139) P:99 I:2000 C:   9772 Min:     20 Act:   32 Avg:   33 Max:      68
T: 6 (  140) P:99 I:2000 C:   9700 Min:     20 Act:   46 Avg:   43 Max:      83
T: 7 (  141) P:99 I:2000 C:   9623 Min:     27 Act:   30 Avg:   29 Max:      35
  • 评价系统的实时性,通常观察Max最大延迟
  • cyclictest所测得的延时是中断延时加调度延时
  • 可以发现打real-time补丁对内核延迟有很大改善

关注博主公众号,优质文章不断更新
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最好有梦想~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值