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.

[参考译文] TDA4VM:TDA4VM:A72崩溃、RTI0 ESM 344被触发

Guru**** 2477305 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1456963/tda4vm-tda4vm-a72-crashed-and-rti0-esm-344-is-trigger

器件型号:TDA4VM

工具与软件:

您好、  

  在 TDA4运行期间,A72在2024/12/31  9:51:59崩溃后的 RTI0 A72 wagchdog 超时(运行52分钟),但内核日志(Journalctl )没有记录任何异常。

1.造成这种情况的原因是什么?
2.您能提供调查意见和建议吗?
使用 SDK 8.6。 psdkla/board-support/linux-5.10.162+gitAUTOINC+76b3e88d56-g76b3e88d56/drivers/watchdog/rti_WDT.c
内核日志(journalctl):
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="543387" url="~/support/processors-group/processors/f/processors-forum/1456963/tda4vm-tda4vm-a72-crashed-and-rti0-esm-344-is-trigger "]

    在 TDA4运行期间,A72在2024/12/31  9:51:59崩溃后的 RTI0 A72 wagchdog 超时(运行52分钟),但内核日志(Journalctl )没有记录任何异常。

    1.造成这种情况的原因是什么?
    [报价]

    此日志是如何指示看门狗超时的? 您看到 Linux 的重置了吗?

    [报价 userid="543387" url="~/support/processors-group/processors/f/processors-forum/1456963/tda4vm-tda4vm-a72-crashed-and-rti0-esm-344-is-trigger "]
    2.您能提供调查意见和建议吗?
    [报价]

    请以文本文件附件的形式共享完整的日志。

    -基尔西

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

    "该日志如何指示看门狗超时? 您看到 Linux 的重置了吗?"

    -是的,我们看到 ESM 344事件被触发,系统被重置

    "请以文本文件附件的形式共享完整的日志。"

    我们只发现应用程序日志停止(而没有任何错误)并且 ESM 344被触发。

    我们确定了以下需要优化的问题。 请您提供一些建议?
    1、看门狗工作任务的优先级是 FIFO 50与 vxe_enc /mmc et.all IRQ 一样,我们可以将看门狗优先级设置为 FIFO 99?吗

    2、所有系统中断默认绑定到 core0 , 我们可以 移动 vxe-enc、cpsw9g IRQ 到 core1?是否会有任何性能问题? 例如缓存同步。

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

    您好!

    https://www.geeksforgeeks.org/priority-of-process-in-linux-nice-value/

    Linux 尼斯价值是一种方法。 我们在用户空间方面没有专业知识。

    所有系统中断默认绑定到 core0、 我们可以 将 vxe-enc、cpsw9g IRQ 移动到 core1吗??是否会有任何性能问题? 例如、缓存同步?[/QUOT]

    有。

    https://docs.kernel.org/core-api/irq/irq-affinity.html

    将 CD 添加到  

    /proc/irq/n 

    其中 n 是 CPSW9g IRQ

    回波0x2 > SMP_Affinity 

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

    您好、

      我们已复制此错误:cpsw 中断崩溃...

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

    您好!  

    现在、崩溃在这里始终保持一致?  

    需要运行哪些活动用例才能重现此情况?  

    此致、

    基尔西  

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

    "现在崩溃总是保持一致吗?"

       我们只捕获了一次此日志,错误的崩溃重现低概率

    "需要运行哪些活动用例才能重现此问题?"

      我们运行视图工具。 就会通过互联网发送大量的视频数据。

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

    您好!

    好的。 我正在分享一个 潜在的修复。 如果可以解决该问题、请进行尝试。

    diff --git a/drivers/soc/ti/k3-ringacc.c b/drivers/soc/ti/k3-ringacc.c
    index 148f54d96..164d3999b 100644
    --- a/drivers/soc/ti/k3-ringacc.c
    +++ b/drivers/soc/ti/k3-ringacc.c
    @@ -1177,11 +1177,13 @@ static int k3_ringacc_ring_push_mem(struct k3_ring *ring, void *elem)
     
     static int k3_ringacc_ring_pop_mem(struct k3_ring *ring, void *elem)
     {
    -       void *elem_ptr;
    +       volatile dma_addr_t *elem_ptr;
     
            elem_ptr = k3_ringacc_get_elm_addr(ring, ring->state.rindex);
     
    -       memcpy(elem, elem_ptr, (4 << ring->elm_size));
    +       while (*elem_ptr == 0);
    +       memcpy_fromio(elem, elem_ptr, (4 << ring->elm_size));
    +       memset_io(elem_ptr, 0, (4 << ring->elm_size));
     
            ring->state.rindex = (ring->state.rindex + 1) % ring->size;
            ring->state.occ--;
    

    -基尔西