TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3358 CPU 网络传输时莫名其妙资源大大降低,进程无法正常运行。

Hi,all:

用 iperf 跑了 1分钟左右就出现了网口性能的急剧下降,我觉得这应该是网口驱动或网口硬件电路引起的。
[  5] 52.0-53.0 sec  42.8 MBytes   359 Mbits/sec
[  5] 53.0-54.0 sec  44.8 MBytes   376 Mbits/sec
[  5] 54.0-55.0 sec  41.0 MBytes   344 Mbits/sec
[  5] 55.0-56.0 sec  39.3 MBytes   329 Mbits/sec
[  5] 56.0-57.0 sec  38.2 MBytes   320 Mbits/sec
[  5] 57.0-58.0 sec  14.8 MBytes   124 Mbits/sec
[  5] 58.0-59.0 sec  2.82 MBytes  23.6 Mbits/sec
[  5] 59.0-60.0 sec  2.65 MBytes  22.2 Mbits/sec
[  5] 60.0-61.0 sec  2.76 MBytes  23.1 Mbits/sec
[  5] 61.0-62.0 sec  2.45 MBytes  20.5 Mbits/sec
[  5] 62.0-63.0 sec  1.12 MBytes  9.44 Mbits/sec
[  5] 63.0-64.0 sec  1.88 MBytes  15.7 Mbits/sec
[  5] 64.0-65.0 sec  3.33 MBytes  28.0 Mbits/sec
[  5] 65.0-66.0 sec  2.51 MBytes  21.0 Mbits/sec

看上去可能是驱动/硬件问题,发送/接受都有几率出现这种情况。

有什么建议。

PS。断开之后,重新测试,开始也会很大码流,后来则码流降低的厉害,且CPU占用率变得非常高。

Gary Wu:

你好!请问测试使用的软件版本(SDK)?硬件是EVM还是自己的硬件?

philip pi:

回复 Gary Wu:

SDK8.0 自己的硬件,am3358. 使用 evmsk dtb ,修改了一些,才跑起来。kernel 并不是使用 sdk8.0 下的kernel 代码编译的,而是使用文件系统自带的kernel.

Gary Wu:

回复 philip pi:

文件系统也是从SDK08.00中获取的吗?

philip pi:

回复 Gary Wu:

是。

philip pi:

回复 philip pi:

已经确定码流比较大的情况下,CPU占用率100%,一段时间后马上码率下降了10倍。看上去是 硬件/驱动的异常,导致后面的连锁反应。请问您有碰到过类似的情况么?

philip pi:

回复 Gary Wu:

http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/72872.aspx

看上去和这个问题比较相似。

我目前配置单网口,不存在转发,ARM-A 发送,ARM-B 接收。感谢提供的任何线索。

shixm.zh:

回复 philip pi:

AM335x的网络部分是做得很差的,内部有bug原厂都不加以说明,非要用户遇到问题了,才勉勉镪镪承认有bug,按道理芯片上有任何的小bug,那怕你是通过软件弥补了,也得加以说明,如果想要用强大网络功能的朋友,建议使用PPC处理器,那网口部分绝对是经得住考验的,而且网口都有加速引擎,甚至可以考虑采用网络处理器这样的高端处理器。

如果对成本比较在乎的,那只要选择这种低成本低性能的芯片,我现在用的是AM3352处理器,这些芯片在CPSW部分都有bug的,所以在软件驱动中使用了2个定时器来解决硬件的上的问题,你想想,有哪个官方文档这样说明过?

官网上最新的SDK8.0在网络驱动中是没有用到了定时器,但估计是需要是新版本的处理器芯片(解决了原芯片cpsw中的bug),早期生产的处理器芯片肯定不支持最新的网络驱动,但这些官方没有任何的解释和说明,按道理应该非常清楚的讲清楚,以免用户造成不必要的损失。

最期的cpsw驱动是做得比较简单的,许多硬件上介绍的寄存器,都没有手段去配置,现在sdk8.0上的驱动,已经新增了许多功能,一个网络工作是不是正常,都需要软硬件的相互配合,总得来说这样的处理器,要想使用在网络应用上,还不是很合适,有一个参数就稳定,就是网络时延很不稳定,上下波动太大,这人一测就测出来了。

Gary Wu:

回复 shixm.zh:

您好!

首先,因为贵司使用PG1.0的芯片,由于其中的bug造成困扰表示抱歉。

TI是一个很负责的公司。所有芯片都会存在bug,这是一个难以避免的问题。TI也会在发现确认bug后第一时间更新勘误表并尽可能的提供workaround。

您所提及的bug早在勘误表中有详细描述并对workaround有所解释(详见errata Advisory 1.0.9)。同时也说明了该CPSW bug仅对PG1.0的芯片有影响。

(如果您还不知道有勘误表的话,建议您尽快下载errrata进行查看,以免有以其他bug没有注意)

谢谢!

shixm.zh:

回复 Gary Wu:

Hi,Gary Wu

非常感谢你的回复,我还真不知道有这样的文档,我去网上下载一下看看。

另外我想问一下,能不能把定时器改成Timer4和Timer7的组合,而且不用Timer5和Timer6的组合?我测试是不行的。

我测试中除了发现需要二个连续的Timer以外,Timer7是不能用的,用了Timer7,时延会非常的大。

Gary Wu:

回复 shixm.zh:

你好!在另外一个帖子与你确认的信息如下:

(1)贵司使用的是B版本芯片,即PG2.1的。

(2)贵司使用的linux-3.1的kernel版本。

在这里需要解释下,贵司使用的kernel是TI早期推出的老版本,应该属于SDK-05.04那个时期的。

新版本的SDK中的kernel已经修改了很多bug,这个可以在kernel release notes中查看。

http://processors.wiki.ti.com/index.php/Sitara_Linux_SDK_Kernel_Release_Notes

强烈建议,尽可能的升级到最新的SDK。因为TI今后会长期稳定在linux-3.14,也就是最新的SDK包(SDK-08.00)中kernel版本。后续如发现新的软件bug,也会在此版本的基础上更新patch。

对于贵司的该问题,我在e2e上也发现有些客户在咨询,如http://e2e.ti.com/support/arm/sitara_arm/f/791/p/374218/1316678

其使用的SDK06.00(kernel-3.2),与贵司所使用的版本接近。

我会继续跟进,并将结果反馈更新这里。

赞(0)
未经允许不得转载:TI中文支持网 » AM3358 CPU 网络传输时莫名其妙资源大大降低,进程无法正常运行。
分享到: 更多 (0)