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.
您好、Stanley、
很抱歉耽误你的回答。 上一个链接 :https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1105232/tda4vm-performance-number-of-ethfw-client-running-on-mcu2_1 已锁定。
我们尝试了8.2中的建议文件、但它对性能没有任何影响。 我们取了它并放入8.1、数字是相同的。 您能否检查并告知我们是否有其他更改?
如果我们从8.2中删除 MCU1_0、并将其与8.1中的其他内核一起放置、我们会看到性能更好。 但是、正如我们所讨论的、我们希望将这一性能改进向后移植到8.1
您好、Stanley、
根据前面的讨论 e2e.ti.com/.../tda4vm-performance-number-of-ethfw-client-running-on-mcu2_1、我们将 udp_iperf.c 文件从8.2更改为8.1、并且还将优化标志(如"optimization=performance"和"enabled Thumb2 mode (CFLAGS_INTERNAL +=-mthumb)"应用于 PDK 的 Enet LLD lwip 示例应用、 但我们看不到 UDP iperf RX 性能有任何改善、在8.1版上、它仍然显示在23Mbps 左右。
但在8.2版本中、同一个示例中、我们可以通过应用优化标志来看到105Mbps。 我们比较了8.2和8.1中的示例、我们看到了两个差异、一个是 udp_ipperf.c 文件、另一个是这个标志(-DLWIPIF_APP_RX_PKT_Handling)。 在考虑到8.1版中的这些更改后、我们已经进行了这两项更改、但 我们仍然看不到 UDP iperf RX 性能有任何改善。
注意:~/ti/drv/enet/enet_component.mk 中 makefile 中提供的标志(DLWIPIF_APP_RX_PKT_Handling)
我们还比较了存储器映射、MPU 配置(可缓存和不可缓存)、并打印了 CFLAGS 和 LDFLAGS、所有这些都是相同的、我们在两个版本中都使用相同的编译器(ti-cgt-armlvm_1.3.0LTS)、但为什么我们无法看到改进?
您能告诉我8.2和8.1之间还有其他差异吗?
此致、
Sesha Venkata Harikrishna。
Sesha、
把这个线程带回到顶部。 我们将很快对此进行研究。
此致
Karthik
您好、Sesha、
您能否尝试更改以下参数以及 udp_iperf.c 文件更改和优化标志。
来自"pdk_jacinto_08_01_00_36\packages/ti\transport\lwip\lwip-port\freertos\include\"以及 "pdk_jacinto_08_01_00_36\packages/ti\transport\lwip\lwip-port\tortos\include\"的 lwipopts.h 文件
- #define MEMP_NUM_NETBUF 2
+ #define MEMP_NUM_NETBUF 64
- #define DEFAULT_UDP_RECVMBOX_SIZE (MEMP_NUM_TCP_SEG)
+ #define DEFAULT_UDP_RECVMBOX_SIZE 320
是否可以使用上述更改重新编译 PDK 并尝试测试性能一次。
此致、
Sudheer
您好 Sudheer、
感谢您的回答。
我已经尝试过您提到的更改以及 8.1 SDK 版本上的 udp_iperf.c 文件更改和优化标志。 现在、我可以看到使用8.1 SDK 版本的 EVM 上的 UDP iperf RX 性能提高了约105Mbps。 与之前的(23Mbps)相比、现在我可以在 UDP RX 上看到一些不错的数字(105Mbps)。
我能不能知道、您能从侧面看到多少 UDP RX?
您好、Sesha、
感谢您分享绩效编号。
>> 我能不能知道、您能从侧面看到 UDP RX 的量有多少?
我们观察到接近110Mbps。
此致、
Sudheer
您好 Sudheer、
1) 1)我能否获得您在 EVM 上看到110Mbps 的二进制文件?
2) 2)在 EVM 上、您验证了 UDP iperf RX 的内核以及您使用的接口(如 CPSW2G 或 CPSW9G)、因为我在 EVM 上看到 MCU1_0内核侧使用 CPSW2G RGMII 接口时的速率为105Mbps。
此致、
Sesha Venkata Harikrishna。
您好、Sesha、
我正在运行 lwip 示例应用程序、如上所述 PDK 用户指南。
我在 MCU2_0的 RGMII 1G 链路中使用一个 CPSW9G 接口运行 UDP iperf。
当我仅以有限带宽选项运行 iperf 时、获得良好的吞吐量意味着100Mbps+。
(示例命令:iperf -c i 1 -t 5 -r -u -b 150m)
您还可以尝试限制 iperf 的带宽、并验证是否有任何性能改进。
此致、
Sudheer
您好 Sudheer、
现在、我可以在运行如下所示的 iperf 命令(命令:iperf -c)后、看到 UDP iperf RX 性能大约为120Mbps -u -b 120M -t 10)。
之前我也给出了相同的命令(命令:iperf -c u -b 100m -t 10)、 但我给出了100m 的带宽、这就是为什么我们看到 UDP RX 105Mbps、在将带宽从100m 更改为120M 后、我可以看到 UDP RX 的改进。
但是、如果我提供的带宽大于120M、UDP RX 逐渐减少意味着大约<100Mbps。
感谢你的帮助。
此致、
Sesha Venkata Harikrishna。
您好、Sesha、
>>但如果我提供的带宽超过120M,UDP RX 逐渐减少,意味着大约<100Mbps。
这是由于数据包丢弃量增加、因为由于 强制使用超过120M 的带宽、iperf 尝试发送更多数据。
有什么可以支持的呢?
此致、
Sudheer
您好、sudheer、
>>> 我们是否可以提供支持?
到目前为止、没有什么需要、如果有任何需要、我会返回给您。
感谢您的支持。
此致、
Sesha Venkata Harikrishna。
您好、Sesha、
我们有两个功能(校验和卸载、散聚和收集)、有助于提高性能。
我已将校验和卸载功能集成到8.1 SDK 中、并连接补丁以查看高达~150Mbps 的性能、以供参考。
e2e.ti.com/.../0001_2D00_UDP_2D00_Performance_2D00_Improvement.patch
我们拥有最新的 SDK 版本8.5、其中包括校验和卸载以及散聚和收集功能。
可从以下链接找到具有最新 SDK 8.5的性能数据。
此致、
Sudheer
您好 Sudheer、
感谢您的更新。
我应用了您共享的补丁。 现在、在运行如下所示的 iperf 命令(命令:iperf -c)后、我可以看到 UDP iperf RX 性能大约为160Mbps -u -b 155M -t 10)。
此致、
Sesha Venkata Harikrishna。
您好、Sesha、
感谢您的更新。
有什么可以支持的呢? 如果否、您可以将此主题标记为已解决。
此致、
Sudheer
您好 Sudheer、
=> 我们可以支持什么吗?
到目前为止、没有什么需要、如果有任何需要、我会返回给您。
感谢您的支持。
此致、
Sesha Venkata Harikrishna。
您好、Sesha、
如果不需要支持、您能否按解决的方式更新此主题。
此致、
Sudheer