This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62L-PROCESSOR-SDK:-i1000的循环测试性能较差

Guru**** 2455360 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1487312/am62l-processor-sdk-cyclictest-performance-poor-with--i1000

器件型号:AM62L-PROCESSOR-SDK

工具与软件:

用户指南上的数据使用-i200us 间隔,结果还不错,我得到了相似的结果与差值应力命令和循环测试参数:

root@am62lxx-evm:~# uname -A  
Linux am62lxx-evm 6.12.13-ti-rt-g1a2d611ee02d #1 SMP preempt_RT 周三2月26日17:29:25 UTC 2025 AArch64 GNU/Linux

root@am62lxx-evm:~# Stress-ng --cpu-method=all -c 2 &

root@am62lxx-evm:~# cyclictest -m -sp98 -i1000 -H800 -l100000000 -q > output_mar122005-i1000

-i200:  

但典型用例为-i1000、 结果不太理想:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tony、

    我认为这是 A53小型缓存配置和综合测试设置的一般属性。 最坏情况下、最坏内核上的延迟将随着时间间隔的增加而降低、直到缓存和 MMU TLB 完全抖动为止。 在这一点上 (我认为与256KB L2在类似500-1000US ),它不会进一步恶化,你增加间隔(所以-i2000不会更糟)。 由于这是一种合成测试设置、因此有几种方法可以缓解这种情况、无论是在合成设置中、还是在实际应用中、更重要的是。

    1.核心隔离。 在你的跑步中、这看起来非常干净、最坏的情况下、一个内核为~60us。 内核1是 RT 内核。 这可能是幸运的、因为这样的命令不会强制核心关联性。 在应用程序级别、请勿在 RT 内核上运行高速缓存抖动后台任务。 因此、隔离实时内核、特别是 L1高速缓存、不要在您尝试保证最坏情况延迟的同一内核上运行 Stress-ng。 实时是在所有内核上进行权衡的通用保证、会使后台流量降低。 142us 在最坏的核心似乎是合理的。 为 RT 专用一个内核的一般模式。 可以使用选项--teskset 0对核心亲和力-ng 进行测试、以强制它仅使用核心0。

    2.无论您的实时任务需要在1/ms 内运行、都要强制它比此任务更频繁地运行、以避免后台任务占用 A53 L2和其他内存带宽资源。

     Pekka