【经验分享】AMD Embedded X86 处理器在Linux下的实时性能测试结果
最近测试了AMD Embedded X86 处理器 在Linux下的实时性能。
为了提高实时性,使用两个CPU作为普通CPU,运行常规任务;其它CPU作为实时CPU,运行实时任务。在测试中,每个CPU运行一个cyclictest的线程来测量实时性能,以实时CPU的cyclictest latency数据作为实时性能测试结果,忽略普通CPU的cyclictest latency数据。
R2000
首先测试了R2000系列中的R2314。 测试两个星期以后,实时CPU的cyclictest latency最大是19us。
policy: fifo: loadavg: 4.13 4.33 4.42 4/240 2106273
T: 0 ( 2986) P:99 I:125 C:11575406260 Min: 2 Act: 4 Avg: 4 Max: 57
T: 1 ( 2987) P:99 I:125 C:11575406259 Min: 2 Act: 4 Avg: 4 Max: 57
T: 2 ( 2988) P:99 I:125 C:11575406403 Min: 3 Act: 5 Avg: 4 Max: 19
T: 3 ( 2989) P:99 I:125 C:11575406260 Min: 4 Act: 5 Avg: 4 Max: 15
V2000
接着也测试了V2000系列中的AMDV2748。
V2000 14天结果
测试两个星期以后,cyclictest的实时CPU的cyclictest latency最大是27us。
policy: fifo: loadavg: 9.56 9.38 9.38 11/535 4058994
T: 0 ( 5333) P:99 I:125 C:15764808563 Min: 1 Act: 2 Avg: 3 Max: 151
T: 1 ( 5334) P:99 I:125 C:15764809666 Min: 1 Act: 3 Avg: 3 Max: 146
T: 2 ( 5335) P:99 I:125 C:15764810373 Min: 2 Act: 5 Avg: 3 Max: 21
T: 3 ( 5336) P:99 I:125 C:15764810323 Min: 2 Act: 5 Avg: 4 Max: 19
T: 4 ( 5337) P:99 I:125 C:15764810384 Min: 1 Act: 5 Avg: 4 Max: 13
T: 5 ( 5338) P:99 I:125 C:15764810342 Min: 2 Act: 4 Avg: 4 Max: 17
T: 6 ( 5339) P:99 I:125 C:15764810381 Min: 2 Act: 4 Avg: 4 Max: 14
T: 7 ( 5340) P:99 I:125 C:15764810342 Min: 2 Act: 5 Avg: 4 Max: 27
V2000 60天结果
测试两个月后,延时也很小,cyclictest latency最大是28us。
Apolicy: fifo: loadavg: 9.03 9.50 9.50 9/520 3500847
T: 0 ( 5333) P:99 I:125 C:50384912076 Min: 1 Act: 3 Avg: 3 Max: 196
T: 1 ( 5334) P:99 I:125 C:50384917203 Min: 1 Act: 3 Avg: 3 Max: 157
T: 2 ( 5335) P:99 I:125 C:50384920416 Min: 2 Act: 2 Avg: 3 Max: 22
T: 3 ( 5336) P:99 I:125 C:50384920366 Min: 2 Act: 4 Avg: 4 Max: 23
T: 4 ( 5337) P:99 I:125 C:50384920428 Min: 1 Act: 5 Avg: 4 Max: 14
T: 5 ( 5338) P:99 I:125 C:50384920386 Min: 2 Act: 5 Avg: 4 Max: 17
T: 6 ( 5339) P:99 I:125 C:50384920425 Min: 2 Act: 4 Avg: 4 Max: 14
T: 7 ( 5340) P:99 I:125 C:50384920385 Min: 2 Act: 4 Avg: 4 Max: 28
V2000 90天结果
继续测试91天后,延时也很小,cyclictest latency最大是29us。
root@x86-yocto:/home/user/realtime/cyclictest-0415b# uptime -p
up 13 weeks, 19 hours, 55 minutes
root@x86-yocto:/home/user/realtime/cyclictest-0415b# uptime
06:03:29 up 91 days, 19:55, 4 users, load average: 9.23, 9.47, 9.47
root@x86-yocto:/home/user/realtime/cyclictest-0415b# ifconfig
enp1s0f0 Link encap:Ethernet HWaddr 00:00:1A:1F:6A:EC
inet addr:10.164.16.121 Bcast:10.164.16.255 Mask:255.255.255.0
inet6 addr: fe80::200:1aff:fe1f:6aec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4821126 errors:0 dropped:343784 overruns:0 frame:0
TX packets:4717668 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:521723548 (497.5 MiB) TX bytes:6204731631 (5.7 GiB)
root@x86-yocto:/home/user/realtime/cyclictest-0415b# echo -e "\n\n\n\n" && tail -n 15 cyclictest_load.sh-AMDV2748-5.4.115-rt57-ip.16.121-eth.6a.ec-DDR4-E674DDEF-0415-1017-09-s297-m13-i62-cpufft.2-vm.2-memcp.2-glxgears.3-fio.0-log.txt && echo -e "\n\n\n\n" && sleep 1
policy: fifo: loadavg: 9.23 9.47 9.46 9/518 2883707
T: 0 ( 5333) P:99 I:125 C:63467647858 Min: 1 Act: 6 Avg: 3 Max: 196
T: 1 ( 5334) P:99 I:125 C:63467654693 Min: 1 Act: 5 Avg: 3 Max: 157
T: 2 ( 5335) P:99 I:125 C:63467658976 Min: 1 Act: 5 Avg: 3 Max: 22
T: 3 ( 5336) P:99 I:125 C:63467658926 Min: 1 Act: 3 Avg: 4 Max: 23
T: 4 ( 5337) P:99 I:125 C:63467642985 Min: 1 Act: 5 Avg: 4 Max: 14
T: 5 ( 5338) P:99 I:125 C:63467642943 Min: 1 Act: 4 Avg: 4 Max: 17
T: 6 ( 5339) P:99 I:125 C:63467642982 Min: 1 Act: 4 Avg: 4 Max: 14
T: 7 ( 5340) P:99 I:125 C:63467642943 Min: 2 Act: 4 Avg: 4 Max: 29
V2000 114天结果
继续测试114天后,延时也很小,cyclictest latency最大是29us。
policy: fifo: loadavg: 9.07 9.14 9.23 9/520 3033399
T: 0 ( 5333) P:99 I:125 C:79416632693 Min: 1 Act: 2 Avg: 3 Max: 196
T: 1 ( 5334) P:99 I:125 C:79416641567 Min: 1 Act: 2 Avg: 3 Max: 157
T: 2 ( 5335) P:99 I:125 C:79416647133 Min: 1 Act: 5 Avg: 3 Max: 23
T: 3 ( 5336) P:99 I:125 C:79416631082 Min: 1 Act: 5 Avg: 4 Max: 23
T: 4 ( 5337) P:99 I:125 C:79416631144 Min: 1 Act: 5 Avg: 4 Max: 14
T: 5 ( 5338) P:99 I:125 C:79416631101 Min: 1 Act: 5 Avg: 4 Max: 17
T: 6 ( 5339) P:99 I:125 C:79416631141 Min: 1 Act: 4 Avg: 4 Max: 14
T: 7 ( 5340) P:99 I:125 C:79416631101 Min: 2 Act: 5 Avg: 4 Max: 29
# uptime
07:49:22 up 114 days, 21:41, 4 users, load average: 8.83, 9.07, 9.21
V2000 176天结果
继续测试176天后,延时也很小,cyclictest latency最大是29us。与114天结果相比,延时没有增加。
root@inovance-x86-yocto:~/realtime/cyclictest-0415b#uname -a
Linux inovance-x86-yocto 5.4.115-rt57-intel-pk-preempt-rt #1 SMP PREEMPT_RT Thu May 6 14:42:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
root@inovance-x86-yocto:~/realtime/cyclictest-0415b# ifconfig enp1s0f0
enp1s0f0 Link encap:Ethernet HWaddr 00:00:1A:1F:6A:EC
inet addr:10.164.16.121 Bcast:10.164.16.255 Mask:255.255.255.0
inet6 addr: fe80::200:1aff:fe1f:6aec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8107476 errors:0 dropped:658607 overruns:0 frame:0
TX packets:10387436 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:835380876 (796.6 MiB) TX bytes:14111693031 (13.1 GiB)
policy: fifo: loadavg: 9.66 9.30 9.25 10/513 3436295
T: 0 ( 5333) P:99 I:125 C:122126175719 Min: 1 Act: 4 Avg: 3 Max: 196
T: 1 ( 5334) P:99 I:125 C:122126186520 Min: 1 Act: 3 Avg: 3 Max: 173
T: 2 ( 5335) P:99 I:125 C:122126193392 Min: 1 Act: 2 Avg: 3 Max: 29
T: 3 ( 5336) P:99 I:125 C:122126193342 Min: 1 Act: 5 Avg: 4 Max: 23
T: 4 ( 5337) P:99 I:125 C:122126193403 Min: 1 Act: 5 Avg: 4 Max: 14
T: 5 ( 5338) P:99 I:125 C:122126193361 Min: 1 Act: 4 Avg: 4 Max: 21
T: 6 ( 5339) P:99 I:125 C:122126193400 Min: 1 Act: 4 Avg: 4 Max: 15
T: 7 ( 5340) P:99 I:125 C:122126193361 Min: 2 Act: 4 Avg: 4 Max: 29
root@inovance-x86-yocto:~/realtime/cyclictest-0415b# uptime
06:02:38 up 176 days, 19:54, 4 users, load average: 7.28, 7.36, 7.48
结论
可以见到,AMD Embedded X86处理器拥有优秀的实时性能。
测试结果,与BIOS设置、Linux编译选型和设置、系统负载有关。请联系对应的FAE、或者hank.fu@amd.com,获取更详细的信息。
付汉杰 hankf@amd.com