Part Number: AM5728
Tool/software: Linux
Hi,
I am using Kernel 4.4.41-rt50-g968d071ce9 on a custom board.
My board receives data over the network port at 220Mb / s without problems,but when I raise my rate to 370Mb / s,
a watchdog timeout occurs after more than an hour, and all future connections are lost. PING has no effect.
If you continue to increase the rate, this time will be shorter.
When I re-plug network port no problem.
The following is a printed message (appears only once):
root@am57xx-evm:~# [ 159.424622] NOHZ: local_softirq_pending 88 [ 159.424765] NOHZ: local_softirq_pending 88 [ 159.703834] NOHZ: local_softirq_pending 40 [ 165.176612] NOHZ: local_softirq_pending 80 [ 165.176830] NOHZ: local_softirq_pending 80 [ 165.177724] NOHZ: local_softirq_pending 80 [ 165.178399] NOHZ: local_softirq_pending 80 [ 165.179709] NOHZ: local_softirq_pending 80 [ 165.180460] NOHZ: local_softirq_pending 80 [ 165.181027] NOHZ: local_softirq_pending 80 root@am57xx-evm:~# root@am57xx-evm:~# [ 558.983743] ------------[ cut here ]------------ [ 558.988406] WARNING: CPU: 1 PID: 18 at net/sched/sch_generic.c:306 dev_watchdog+0x26c/0x278() [ 558.996977] NETDEV WATCHDOG: eth0 (cpsw): transmit queue 0 timed out [ 559.003357] Modules linked in: bc_example(O) rpmsg_pru rpmsg_rpc rpmsg_proto xhci_plat_hcd xhci_hcd usbcore sd_mod dwc3 udc_core cbc virtio_rpmsg_bus jitterentropy_rng drbg xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 af_key xfrm_algo pru_rproc pruss_intc ecb snd_soc_simple_card sha512_generic sha512_arm sha256_generic hmac md5 sha1_generic snd_soc_omap_hdmi_audio sha1_arm_neon sha1_arm pvrsrvkm(O) c_can_platform omap_aes_driver pruss c_can omap_sham can_dev omap_wdt ahci_platform libahci_platform libahci libata scsi_mod ti_vpe ti_sc ti_csc ti_vpdma dwc3_omap rtc_omap extcon_palmas extcon rtc_palmas palmas_pwrbutton snd_soc_tlv320aic3x rtc_ds1307 omap_des omap_rng rng_core debugss_kmodule(O) omap_remoteproc remoteproc virtio virtio_ring sch_fq_codel uio_module_drv(O) uio gdbserverproxy(O) cryptodev(O) cmemk(O) [ 559.076063] CPU: 1 PID: 18 Comm: ktimersoftd/1 Tainted: G O 4.4.41-rt50-g968d071ce9 #16 [ 559.076066] Hardware name: Generic DRA74X (Flattened Device Tree) [ 559.076070] Backtrace: [ 559.076087] [<c0013100>] (dump_backtrace) from [<c00132fc>] (show_stack+0x18/0x1c) [ 559.076097] r7:c057f7a8 r6:200e0013 r5:00000000 r4:c0950374 [ 559.076107] [<c00132e4>] (show_stack) from [<c02bb384>] (dump_stack+0x8c/0xa0) [ 559.076117] [<c02bb2f8>] (dump_stack) from [<c0034794>] (warn_slowpath_common+0x88/0xb8) [ 559.076125] r7:c057f7a8 r6:00000132 r5:00000009 r4:ee4d1e00 [ 559.076134] [<c003470c>] (warn_slowpath_common) from [<c00347fc>] (warn_slowpath_fmt+0x38/0x40) [ 559.076143] r8:edf44800 r7:00000001 r6:c0922580 r5:edcb4000 r4:c0882a70 [ 559.076152] [<c00347c8>] (warn_slowpath_fmt) from [<c057f7a8>] (dev_watchdog+0x26c/0x278) [ 559.076157] r3:edcb4000 r2:c0882a70 [ 559.076160] r4:00000000 [ 559.076168] [<c057f53c>] (dev_watchdog) from [<c0093848>] (call_timer_fn.constprop.3+0x30/0xa0) [ 559.076177] r10:c057f53c r9:edcb4000 r8:eed2f614 r7:c057f53c r6:00000000 r5:00000000 [ 559.076180] r4:ffffe000 [ 559.076187] [<c0093818>] (call_timer_fn.constprop.3) from [<c0093a54>] (run_timer_softirq+0x19c/0x228) [ 559.076193] r7:00000200 r6:00000000 r5:00000000 r4:eed2f5c0 [ 559.076200] [<c00938b8>] (run_timer_softirq) from [<c00384e4>] (do_current_softirqs+0x1b8/0x254) [ 559.076209] r10:00000001 r9:ee4d1ed0 r8:00000000 r7:04208140 r6:ee4d0000 r5:00000004 [ 559.076212] r4:c091c2fc [ 559.076218] [<c003832c>] (do_current_softirqs) from [<c003883c>] (run_ksoftirqd+0x34/0x64) [ 559.076226] r10:00000000 r9:00000000 r8:ffffe000 r7:c0934eec r6:00000001 r5:ee460440 [ 559.076229] r4:ffffe000 [ 559.076237] [<c0038808>] (run_ksoftirqd) from [<c0053bdc>] (smpboot_thread_fn+0x164/0x2b8) [ 559.076242] r5:ee460440 r4:ee4d0000 [ 559.076249] [<c0053a78>] (smpboot_thread_fn) from [<c00507cc>] (kthread+0xe4/0xfc) [ 559.076258] r10:00000000 r9:00000000 r8:00000000 r7:c0053a78 r6:ee460440 r5:ee4604c0 [ 559.076262] r4:00000000 r3:ee4c8740 [ 559.076269] [<c00506e8>] (kthread) from [<c000fb10>] (ret_from_fork+0x14/0x24) [ 559.076275] r7:00000000 r6:00000000 r5:c00506e8 r4:ee4604c0 [ 559.076278] ---[ end trace 0000000000000002 ]---
This is the result of my review using some commands.
Triage report.
Kernel version and source, also include the results of this command: uname -a
Linux am57xx-evm 4.4.41-rt50-g968d071ce9 #16 SMP PREEMPT RT Fri Nov 17 15:22:05 CST 2017 armv7l GNU/Linux
File system, TI SDK or Arago/Yocto based filesytem
Yocto on ext4
Custom board or TI board? Please include device tree source file.
Custom Board based on AM5728 EVM. See below for device tree snippet
Console log of the boot process that includes U-Boot and the Kernel.
See Below
ethtool, ethtool -S, ifconfig shown below...
##################################
#### From bootup (dmesg)
##################################
~# dmesg | grep cpsw
[ 1.769285] cpsw 48484000.ethernet: Detected MACID = d4:36:39:27:75:86
[ 1.775930] cpsw 48484000.ethernet: cpts: overflow check period 800
[ 1.782907] cpsw 48484000.ethernet: cpsw: Detected MACID = d4:36:39:27:75:87
[ 10.544688] net eth1: initializing cpsw version 1.15 (0)
[ 10.576420] net eth0: initialized cpsw ale version 1.4
[ 10.928899] net eth0: initializing cpsw version 1.15 (0)
[ 15.036849] cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
##################################
#### ethtool
##################################
root@cut:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000000 (0)
Link detected: yes
##################################
#### ifconfig
##################################
~# ifconfig
eth0 Link encap:Ethernet HWaddr D4:36:39:27:75:86
inet addr:192.168.1.29 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::d636:39ff:fe27:7586%132400/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:102 errors:0 dropped:0 overruns:0 frame:0
TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6505 (6.3 KiB) TX bytes:10463 (10.2 KiB)
Interrupt:98
eth1 Link encap:Ethernet HWaddr D4:36:39:27:75:87
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1%132400/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:706 errors:0 dropped:0 overruns:0 frame:0
TX packets:706 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:366681 (358.0 KiB) TX bytes:366681 (358.0 KiB)
##################################
#### After Kernel trace (watchdog timeout)
##################################
~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000000 (0)
Link detected: yes
~# ifconfig
eth0 Link encap:Ethernet HWaddr D4:36:39:27:75:86
inet addr:192.168.1.29 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::d636:39ff:fe27:7586%132400/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27430701 errors:0 dropped:0 overruns:0 frame:0
TX packets:72574707 errors:1052 dropped:13 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4114712377 (3.8 GiB) TX bytes:1122281772 (1.0 GiB)
Interrupt:98
eth1 Link encap:Ethernet HWaddr D4:36:39:27:75:87
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1%132400/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:953785 errors:0 dropped:0 overruns:0 frame:0
TX packets:953785 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:2537938201 (2.3 GiB) TX bytes:2537938201 (2.3 GiB)
I try to use 04.00.00 SDK, the maximum rate of only 200Mb / s. This is not suitable for my use.
Thanks,