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.

[参考译文] Linux/am3359:CPU 频率调节器对 DCAN 的影响

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/661452/linux-am3359-cpu-frequency-governor-effect-on-dcan

器件型号:AM3359

工具/软件:Linux

我们最近启用了 CPU 频率缩放(Linux)并设置 CPU_FREQ_GOV_OnDemand=y。 从那时起、当 CPU 调速器在负载发生变化时改变频率时、CAN 总线似乎会出现问题。 我们使用的是 socketCAN(),观察结果是,在交换期间,TX CAN-Buffers 没有足够快地清空,时间关键的消息被延迟约2秒。 我们的假设是、更改 CPU 频率通常不会真正影响接口。 这似乎不是正确的假设。 是否有人有类似的观察结果? 在 AM335x 上 CPU 频率调节和 socketCAN()是否协同工作? 在使用 CPU 调频和 sockan()时,我们是否需要考虑什么? 您好 A.R

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是什么 Linux 版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们使用4.4.19内核。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我没有听说过调节频率和插座有任何问题。 根据您尝试进行的频率缩放操作、您可以首先确定较低频率是否会导致问题、方法是将调速器设置为用户空间、然后选择一个可用频率。

    您能否从控制台发布"uname -a "的结果?

    此致、
    Schuyler
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Uname (名称):
    Linux ml_Hz_06 4.4.19-phy2…
    这是模块供应商 phytec 修改后的 TI 内核。

    我们最近在收到优化功耗的请求后将系统更改为 CPU_FREQ_GOV_OnDemand。
    从那时起、到目前为止、我们仅在运行时间为20 - 200h 后的 CAN 区域中遇到应用程序问题。
    我们将返回 CPU_FREQ_GOV_performance、并再次恢复正常运行(几个系统使用该设置/内核稳定运行大约18个月)。
    问题可能出在任何地方、我们可能只会看到 CAN 总线基于时间的消息传递的影响。
    在我们的案例中、CAN-Open Heartbeat @ 1Hz 延迟超过1秒、导致 CAN-Open System 错误。 CAN-Open 堆栈位于插座 CAN 的顶部。

    我们的假设是、更改 CPU 频率不会影响外设、套接字、计时器等。
    这种假设可能不正确。

    我们仍在努力将问题与我们的应用程序隔离开来、并创建一个在更短时间内显示错误的测试用例。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    感谢您发布内核信息。 我假设这不是 RT 优先内核。 TI 将仅支持有关已发布 SDK 内核的问题。 您可能需要询问 Phytec 有关这一点的信息、因为他们修改了内核。

    是否可以在电路板上运行 TI 内核? 您有 TI EVM 吗?

    您是否可以尝试我在上一帖子中提到的内容? 将调速器设置为用户空间、然后选择可用频率?

    您似乎熟悉此页面、但我为后续读者发布了以下内容:

    processors.wiki.ti.com/.../Linux_Core_Power_Management_User's_Guide_(v4.1)

    下面的链接是关于设置用户空间、然后设置其中一个可用频率、这会将 MPU 锁定为此频率、并查看较低频率是否满足您的产品要求。 如果它不是下一个频率上升的话。

    processors.wiki.ti.com/.../Linux_Core_Power_Management_User's_Guide_(v4.1)

    此致、
    Schuyler
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    本主题的更新: 我们能够找到问题并将其解决为 Linux timerfd 问题。 请参阅 :stackoverflow.com/.../linux-cpu-frequency-scaling-affects-timerfd-accuracy 这不是频率调节器 socketCAN()或 DCAN 问题。