Thread (50 messages) 50 messages, 8 authors, 2008-06-18

Re: NIU - Sun Neptune 10g - Transmit timed out reset (2.6.24)

From: David Miller <davem@davemloft.net>
Date: 2008-06-18 00:02:37
Also in: lkml

Possibly related (same subject, not in this thread)

From: Matheos Worku <redacted>
Date: Tue, 27 May 2008 18:18:57 -0700
Considering that fixing the HW would take considerable time, I was 
wondering if the scheme we use in the nxge driver could be considered as 
a workaround. Since the niu driver is already doing skb_orphan as a work 
around, what if  already transmitted TX buffers are  reclaimed 
periodically, within dev->hard_start_xmit() ?  Then TX_DESC_MARK would 
be set if/when available TX descriptor count falls below some watermark. 
Disable device TX queue about the time  TX_DESC_MARK is set and enable 
it within TX interrupt.
This is still insufficient.

Even if we detach the socket association, there are still resources
held by the SKB, such as firewalling state.

So you can get into situations where, for example, you can't unload
netfilter modules, attempts just hang the system.

The only workaround is to use a timer to purge the TX queue, and that's
far from acceptable in my opinion, because of the timer maintainence
overhead and the latency.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help