Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
5234 Discussions

igb Detected Tx Unit Hang

idata
Employee
6,059 Views

Hi all experts :

we are using the Intel I350AM2 ( Two GE Ports ) chip to interface the Cortex-A8 SoC from TI through PCIE x 2 bus .

The OS version is Linux 2.6.37

The I350 driver version is 5.0.6

and after some hours , we found the log as below with GDB backtrace info.

igb 0000:01:00.0: Detected Tx Unit Hang

Tx Queue <0>

TDH

TDT

next_to_use

next_to_clean

buffer_info[next_to_clean]

time_stamp <91811>

next_to_watch

jiffies <91b40>

desc.status <1568200>

------------[ cut here ]------------

WARNING: at net/sched/sch_generic.c:258 dev_watchdog+0x148/0x230()

NETDEV WATCHDOG: eth0 (igb): transmit queue 0 timed out

Modules linked in: aur5g8ke_face_lcd avst_digit_audio ti81xxhdmi ti81xxfb vpss osa_kermod syslink

Backtrace:

[] (dump_backtrace+0x0/0x110) from [] (dump_stack+0x18/0x1c)

r6:c042b298 r5:00000102 r4:c0457df0 r3:60000113

[] (dump_stack+0x0/0x1c) from [] (warn_slowpath_common+0x54/0x6c)

[] (warn_slowpath_common+0x0/0x6c) from [] (warn_slowpath_fmt+0x38/0x40)

r8:c02c78bc r7:00000100 r6:00000000 r5:c04cb59c r4:cdc0c000

r3:00000009

[] (warn_slowpath_fmt+0x0/0x40) from [] (dev_watchdog+0x148/0x230)

r3:cdc0c000 r2:c042b2b0

[] (dev_watchdog+0x0/0x230) from [] (run_timer_softirq+0x130/0x1c8)

r6:00000100 r5:c0456000 r4:c04b7c40

[] (run_timer_softirq+0x0/0x1c8) from [] (__do_softirq+0x84/0x114)

[] (__do_softirq+0x0/0x114) from [] (irq_exit+0x48/0x98)

[] (irq_exit+0x0/0x98) from [] (asm_do_IRQ+0x7c/0x9c)

[] (asm_do_IRQ+0x0/0x9c) from [] (__irq_svc+0x34/0xa0)

Exception stack(0xc0457f18 to 0xc0457f60)

7f00: c0496610 00000002

7f20: cbaa8000 5efe1920 cbaa801c c0459040 00000015 c982f8c0 ccd24300 413fc082

7f40: ccd24300 c0457f6c c0457f70 c0457f60 c033b460 c033d01c 60000013 ffffffff

r5:fa200000 r4:ffffffff

[] (atomic_notifier_call_chain+0x0/0x28) from [] (__switch_to+0x2c/0x4c)

[] (schedule+0x0/0x304) from [] (cpu_idle+0x80/0x90)

[] (cpu_idle+0x0/0x90) from [] (rest_init+0x60/0x78)

r6:c06d0900 r5:c002dd50 r4:c04babbc r3:00000000

[] (rest_init+0x0/0x78) from [] (start_kernel+0x264/0x2b8)

[] (start_kernel+0x0/0x2b8) from [<80008048>] (0x80008048)

---[ end trace bb79dcc8c86613b8 ]---

we have tried to disable the offload option as below but not work , the I350AM2 still hang , btw , we only use the eth0 port now .

Offload parameters for eth0:

rx-checksumming: on

tx-checksumming: on

scatter-gather: off

tcp-segmentation-offload: off

udp-fragmentation-offload: off

generic-segmentation-offload: off

generic-receive-offload: off

large-receive-offload: off

rx-vlan-offload: on

tx-vlan-offload: on

ntuple-filters: off

receive-hashing: on

is there any suggestions on this case ?

0 Kudos
7 Replies
idata
Employee
4,261 Views
0 Kudos
idata
Employee
4,261 Views

Dear wb

Not yet , but we will try it .

There is a tip in the i350AM2 driver readme.txt as below

Using the igb driver on 2.4 or older 2.6 based kernels

------------------------------------------------------

Due to limited support for PCI-Express in 2.4 kernels and older 2.6 kernels,

the igb driver may run into interrupt related problems on some systems, such

as no link or hang when bringing up the device.

We recommend the newer 2.6 based kernels, as these kernels correctly configure

the PCI-Express configuration space of the adapter and all intervening

bridges. If you are required to use a 2.4 kernel, use a 2.4 kernel newer than

2.4.30. For 2.6 kernels we recommend using the 2.6.21 kernel or newer.

Alternatively, on 2.6 kernels you may disable MSI support in the kernel by

booting with the "pci=nomsi" option or permanently disable MSI support in your

kernel by configuring your kernel with CONFIG_PCI_MSI unset.

our kernel version is 2.6.37 , so if we disable the MSI and MSI-X in the Kernel config file , there would be no response from the Cortex-A8 side to process the

MSI / MSI-X interrupt events when there is 'igb Tx Unit Hang' .

we observed that the 'igb Tx Unit Hang' seems disappeared if we disable all offload options by ethtools , but why ?

what is the real reason trigger the 'igb Tx Unit Hang' ?

would you please explain it to us ?

0 Kudos
idata
Employee
4,261 Views

Hi BlackBargin,

 

 

Thank you for the reply. Please do let me know the result from driver update.

 

 

I will further check.

 

 

rgds,

 

wb

 

0 Kudos
idata
Employee
4,261 Views

Hi BlackBargin,

 

 

Any update from the driver update?

 

 

rgds,

 

wb

 

0 Kudos
idata
Employee
4,261 Views

Hi BlackBargin,

 

 

Please feel free to provide the result of driver update. As mentioned in our ReadMe notes:

 

https://downloadmirror.intel.com/13663/eng/README.txt

 

 

""We recommend the newer 2.6 based kernels, as these kernels correctly configure the PCI-Express configuration space of the adapter and all intervening bridges. If you are required to use a 2.4 kernel, use a 2.4 kernel newer than 2.4.30. For 2.6 kernels we recommend using the 2.6.21 kernel or newer.

 

 

Hope this help.

 

 

rgds,

 

wb
0 Kudos
idata
Employee
4,261 Views

Hi BlackBargin,

 

 

Please feel free to provide the result of driver update. Thanks.

 

 

rgds,

 

wb
0 Kudos
idata
Employee
4,261 Views

Hi BlackBargin,

 

 

We'd like to check if you still need assistance regarding I350-AM2.

 

 

regards,

 

Vince
0 Kudos
Reply