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/processor-SDK-AM57X:内核缓冲区的填充速度似乎快于 AM5728处理数据包的速度?

Guru**** 2555630 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/607710/linux-processor-sdk-am57x-kernel-buffer-appears-to-be-filling-up-faster-than-am5728-can-process-packets

器件型号:PROCESSOR-SDK-AM57X
主题中讨论的其他器件:AM5728

工具/软件:Linux

您好!

我尝试使用运行处理器 SDK 的 AM572x EVM 诊断网络问题。  我使用它在 eth0上接收40Mb 数据流、该数据流完全由 UDP 数据包组成。  这些数据包直接从发送器器件发送到 EVM、并将 EVM 的 MAC 和 IP 地址预先编程到数据包中。  数据包的 MTU 大小一致、并定期发送。

我注意到、即使在将 UDP 接收队列存储器缓冲区大小扩展到(看起来像一个大容量) 12MB 之后、也会出现显著的下降率。  但是、这只会导致数据包缓冲区溢出延迟。  我每10个数据包丢弃一个数据包。  使用 SDK 的默认 UDP 接收缓冲区大小、它是1/6。

考虑到 EVM 的额定千兆位以太网、我无法可靠地处理40Mb 有没有具体原因?  起初,我认为它与数据流使用的 gstreamer 实现有关,但即使只是通过一系列 recvfrom ()调用记录原始数据包转储,数据包丢弃率也很明显。

谢谢、

Tom

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

    请您澄清一下:
    1.您是否使用了 TI 参考板:
    1.1 AM5728 GP EVM www.ti.com/.../tmdsevm572x
    1.2 AM5728工业 EVM: www.ti.com/.../tmdxidk5728
    2.您使用的是哪款 SDK?

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

    我使用的是 GP EVM 和 Processor SDK v3.03

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

    大家好、只是在寻找有关此网络问题的更新、因为这对我们来说是一个相当大的阻碍因素。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否更新到最新的 SDK、内核4.9、并查看此问题是否仍然存在?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们有一个不同的问题、但是升级到内核4.9解决了我遇到的另一个错误、因此需要进行抢先式解决方案检查。 谢谢 Yordan :)