cpsw发udp小包时timeout且无法恢复(4.4.19内核) - AM57x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3192|回复: 0

[未解决] cpsw发udp小包时timeout且无法恢复(4.4.19内核)

[复制链接]

3

主题

3

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2019-8-28 08:52:27 | 显示全部楼层 |阅读模式
1. 最近在SDK3.01的内核(4.4.19)上遇到一个问题,使用iperf发udp小包,一段时间后会出现“NETDEV WATCHDOG: eth0 (cpsw): transmit queue 0 timed out”这样的log,此时网卡阻塞了,对外ping不通,并且没有自动恢复。发送udp小包的命令如下:
iperf -u -c 192.168.100.111 -p12345 -i1 -t9999 -l100 -b70m -P2
运行一会后会出现如下log:
root@am57xx-evm:~# [  339.011780] ------------[ cut here ]------------
[  339.016465] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:306 dev_watchdog+0x284/0x290()
[  339.024983] NETDEV WATCHDOG: eth0 (cpsw): transmit queue 0 timed out

2. 我对比4.9.65的kernel代码发现,4.4.19的代码在cpsw网卡发送超时后没有重新唤醒发送队列。于是我参照4.9.65的做法,把唤醒代码加到4.4.19上,但是发现cpsw的timeout根本就没有被调用到。我在cpsw_ndo_tx_timeout里面添加打印log,没有打印出来。

以上两个问题,有遇到类似经历的,帮忙回复一下。感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-4-19 02:09 , Processed in 0.038522 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表