Re: BQL support in gianfar causes network hickup
From: Keitel, Tino (ALC NetworX GmbH) <hidden>
Date: 2012-11-27 09:36:56
On Mo, 2012-11-26 at 09:17 -0800, Eric Dumazet wrote:
On Mon, 2012-11-26 at 18:08 +0100, Keitel, Tino (ALC NetworX GmbH) wrote:quoted
On Mo, 2012-11-26 at 08:34 -0800, Eric Dumazet wrote:quoted
On Mon, 2012-11-26 at 11:01 +0100, Tino Keitel wrote:quoted
On Sat, Nov 24, 2012 at 15:43:36 -0800, Eric Dumazet wrote: [...]quoted
Hmm, I wonder if BQL makes a particular bug showing more often. I see gianfar uses a very small watchdog_timeo of 1 second, while many drivers use 5 seconds. What happens if you change this to 5 seconds ?I still got the trace and a failing ptp client.Thanks. Is this bug easy to trigger ? I suspect a core issue and a race, likely to happen on your (non x86) hardware Could you add the following debugging patch ?No visible difference:OK it seems you trigger the problem fast ! Please try the following as well :
Hi, yes, it can be triggered within 2 minutes. The patch makes no difference: NETDEV WATCHDOG: eth1 (fsl-gianfar): transmit queue 0 timed out ------------[ cut here ]------------ WARNING: at /home/keitelt1/src/git/linux-stable/net/sched/sch_generic.c:255 Modules linked in: NIP: c02448e0 LR: c02448e0 CTR: c01c19b8 REGS: c7ffbe40 TRAP: 0700 Not tainted (3.7.0-rc6-dirty) MSR: 00029032 <EE,ME,IR,DR,RI> CR: 22002044 XER: 20000000 TASK = c03dd370[0] 'swapper' THREAD: c03fe000 GPR00: c02448e0 c7ffbef0 c03dd370 0000003f 00000001 c001aea8 00000000 00000001 GPR08: 00000001 c03e0000 00000000 0000009d 22002084 1008eb5c 07ffb000 ffffffff GPR16: 00000004 c0362c7c c03dfbf8 00200000 c0411ed0 c0411cd0 c0411ad0 ffffffff GPR24: 00000000 c749e1d8 00000004 c783c330 c0400000 c03e0000 c749e000 00000000 NIP [c02448e0] dev_watchdog+0x288/0x298 LR [c02448e0] dev_watchdog+0x288/0x298 Call Trace: [c7ffbef0] [c02448e0] dev_watchdog+0x288/0x298 (unreliable) [c7ffbf20] [c00267f8] call_timer_fn+0x6c/0xd8 [c7ffbf50] [c00269e4] run_timer_softirq+0x180/0x1f8 [c7ffbfa0] [c0021144] __do_softirq+0xc4/0x160 [c7ffbff0] [c000d0b8] call_do_softirq+0x14/0x24 [c03ffe90] [c00058e8] do_softirq+0x8c/0xb8 [c03ffeb0] [c0021358] irq_exit+0x98/0xb4 [c03ffec0] [c0009fb0] timer_interrupt+0x158/0x170 [c03ffee0] [c000f02c] ret_from_except+0x0/0x14
--- Exception: 901 at cpu_idle+0x94/0x100
LR = cpu_idle+0x94/0x100[c03fffa0] [c00088ec] cpu_idle+0x5c/0x100 (unreliable) [c03fffc0] [c03b37b0] start_kernel+0x2dc/0x2f0 [c03ffff0] [00003438] 0x3438 Instruction dump: 7d2903a6 4e800421 80fe01fc 4bffff74 7fc3f378 4bfecb7d 7fc4f378 7fe6fb78 7c651b78 3c60c038 38637280 48090e69 <0fe00000> 39200001 993cc7c9 4bffffb8 ---[ end trace 26a9da9c2717d65b ]--- Regards, Tino