Hi,
I did some testing today with the ethernet running at 1000/full and using MTU size larger than the default 1500. With my PC setup using an Intel ethernet card (e1000e driver) on Linux I can set the MTU size to 9000 (anything higher will give an error because it is not supported) and I can reduce the system load and improve throughput of my GigEVision application which is basically the camera sending a constant stream of UDP packets.
With the TI Integra I seem to be able to set any MTU size using 'ifconfig eth0 mtu 10000' gives no indication of errors and ifconfig eth0 shows the MTU size happily set to 10000.
When I set the MTU it to 9000 and start my streaming application the EVM hangs after it starts to receive data (before I can type ifconfig to see packet statistics) and if I turn it off and on again it gives an endless list of crash reports at startup before the kernel is fully initialized (the camera is still sending jumbo frames at this point).
My Question: What is the maximum MTU size supported on TI Integra ? Is it 9000 like the Intel ethernet cards or just the 1500 default value for 100mbit ethernet?
I have attached the crash report below:
Pid: 5, comm: events/0
CPU: 0 Not tainted (2.6.34 #1)
PC is at emac_adjust_link+0xa8/0xac
LR is at release_console_sem+0x198/0x1ac
pc : [<c01ee01c>] lr : [<c00537dc>] psr: 60000013
sp : c7033f48 ip : c7033e68 fp : c7033f5c
r10: 00000000 r9 : 00000000 r8 : c7048128
r7 : 00000020 r6 : c7048000 r5 : 60000013 r4 : c70ecae0
r3 : 60000093 r2 : c03d3e00 r1 : 00003590 r0 : 00000001
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387d Table: 87318019 DAC: 00000017
[<c0032edc>] (show_regs+0x0/0x50) from [<c004fe1c>] (__schedule_bug+0x4c/0x60)
r5:00000002 r4:c7033f00
[<c004fdd0>] (__schedule_bug+0x0/0x60) from [<c02d9528>] (schedule+0x4c/0x2b8)
r5:00000002 r4:ffff8f34
[<c02d94dc>] (schedule+0x0/0x2b8) from [<c02d9a58>] (schedule_timeout+0x158/0x190)
[<c02d9900>] (schedule_timeout+0x0/0x190) from [<c02d9ab8>] (schedule_timeout_uninterruptible+0x28/0x2c)
r6:00000001 r5:c721c140 r4:c70ecaf4
[<c02d9a90>] (schedule_timeout_uninterruptible+0x0/0x2c) from [<c005d1e0>] (msleep+0x1c/0x28)
[<c005d1c4>] (msleep+0x0/0x28) from [<c01eec54>] (emac_poll+0x55c/0x660)
[<c01ee6f8>] (emac_poll+0x0/0x660) from [<c025dc4c>] (net_rx_action+0x58/0x154)
[<c025dbf4>] (net_rx_action+0x0/0x154) from [<c0057fdc>] (__do_softirq+0x7c/0x100)
[<c0057f60>] (__do_softirq+0x0/0x100) from [<c00580a8>] (irq_exit+0x48/0x50)
[<c0058060>] (irq_exit+0x0/0x50) from [<c0031078>] (asm_do_IRQ+0x78/0x94)
[<c0031000>] (asm_do_IRQ+0x0/0x94) from [<c02dae34>] (__irq_svc+0x34/0xa0)
Exception stack(0xc7033f00 to 0xc7033f48)
3f00: 00000001 00003590 c03d3e00 60000093 c70ecae0 60000013 c7048000 00000020
3f20: c7048128 00000000 00000000 c7033f5c c7033e68 c7033f48 c00537dc c01ee01c
3f40: 60000013 ffffffff
r5:fa200000 r4:ffffffff
[<c01edf74>] (emac_adjust_link+0x0/0xac) from [<c01eae98>] (phy_state_machine+0x450/0x4b0)
r5:00000000 r4:c70480fc
[<c01eaa48>] (phy_state_machine+0x0/0x4b0) from [<c0063a10>] (worker_thread+0x100/0x178)
r9:00000000 r8:c7000628 r7:c7032000 r6:c7000620 r5:c7024c00
r4:c01eaa48
[<c0063910>] (worker_thread+0x0/0x178) from [<c0066ce0>] (kthread+0x88/0x90)
r8:00000000 r7:c0063910 r6:c7000620 r5:c7027f20 r4:c7033fcc
[<c0066c58>] (kthread+0x0/0x90) from [<c0055fec>] (do_exit+0x0/0x5bc)
r7:00000000 r6:00000000 r5:00000000 r4:00000000
BUG: scheduling while atomic: events/0/5/0x00000100
Modules linked in: ipv6
Pid: 5, comm: events/0
CPU: 0 Not tainted (2.6.34 #1)
PC is at emac_adjust_link+0xa8/0xac
LR is at release_console_sem+0x198/0x1ac
pc : [<c01ee01c>] lr : [<c00537dc>] psr: 60000013
sp : c7033f48 ip : c7033e68 fp : c7033f5c
r10: 00000000 r9 : 00000000 r8 : c7048128
r7 : 00000020 r6 : c7048000 r5 : 60000013 r4 : c70ecae0
r3 : 60000093 r2 : c03d3e00 r1 : 00003590 r0 : 00000001
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387d Table: 87318019 DAC: 00000017
[<c0032edc>] (show_regs+0x0/0x50) from [<c004fe1c>] (__schedule_bug+0x4c/0x60)
r5:00000002 r4:c7033f00
[<c004fdd0>] (__schedule_bug+0x0/0x60) from [<c02d9528>] (schedule+0x4c/0x2b8)
r5:00000002 r4:ffff8f4a
[<c02d94dc>] (schedule+0x0/0x2b8) from [<c02d9a58>] (schedule_timeout+0x158/0x190)
[<c02d9900>] (schedule_timeout+0x0/0x190) from [<c02d9ab8>] (schedule_timeout_uninterruptible+0x28/0x2c)
r6:00000001 r5:c721c140 r4:c70ecaf4
[<c02d9a90>] (schedule_timeout_uninterruptible+0x0/0x2c) from [<c005d1e0>] (msleep+0x1c/0x28)
[<c005d1c4>] (msleep+0x0/0x28) from [<c01eec54>] (emac_poll+0x55c/0x660)
[<c01ee6f8>] (emac_poll+0x0/0x660) from [<c025dc4c>] (net_rx_action+0x58/0x154)
[<c025dbf4>] (net_rx_action+0x0/0x154) from [<c0057fdc>] (__do_softirq+0x7c/0x100)
[<c0057f60>] (__do_softirq+0x0/0x100) from [<c00580a8>] (irq_exit+0x48/0x50)
[<c0058060>] (irq_exit+0x0/0x50) from [<c0031078>] (asm_do_IRQ+0x78/0x94)
[<c0031000>] (asm_do_IRQ+0x0/0x94) from [<c02dae34>] (__irq_svc+0x34/0xa0)
Exception stack(0xc7033f00 to 0xc7033f48)
3f00: 00000001 00003590 c03d3e00 60000093 c70ecae0 60000013 c7048000 00000020
3f20: c7048128 00000000 00000000 c7033f5c c7033e68 c7033f48 c00537dc c01ee01c
3f40: 60000013 ffffffff
r5:fa200000 r4:ffffffff
[<c01edf74>] (emac_adjust_link+0x0/0xac) from [<c01eae98>] (phy_state_machine+0x450/0x4b0)
r5:00000000 r4:c70480fc
[<c01eaa48>] (phy_state_machine+0x0/0x4b0) from [<c0063a10>] (worker_thread+0x100/0x178)
r9:00000000 r8:c7000628 r7:c7032000 r6:c7000620 r5:c7024c00
r4:c01eaa48
[<c0063910>] (worker_thread+0x0/0x178) from [<c0066ce0>] (kthread+0x88/0x90)
r8:00000000 r7:c0063910 r6:c7000620 r5:c7027f20 r4:c7033fcc
[<c0066c58>] (kthread+0x0/0x90) from [<c0055fec>] (do_exit+0x0/0x5bc)
r7:00000000 r6:00000000 r5:00000000 r4:00000000
BUG: scheduling while atomic: events/0/5/0x00000100
Modules linked in: ipv6