Subject: Re: ibm_newemac tx problem with jumbo frame enabled

From: Benjamin Herrenschmidt <[email-masked]>
Date: Fri, 09 Dec 2011 09:59:08 +1100

On Thu, 2011-12-08 at 18:31 +0530, Prashant Bhole wrote:

> 
> I checked RX descriptor status and TX descriptor status and ethtool
> output.
> However I don't know about pause packet/frame, how do I check if pause
> frames are properly negotiated on both sides? 
> I need to try changing pause and FIFO thresholds.
> 
> ethtool output after disconnection is as follows:
> # ethtool -S eth0
> NIC statistics:
>      rx_packets: 330939
>      rx_bytes: 804963241
>      tx_packets: 248554
>      tx_bytes: 798853638
>      rx_packets_csum: 330716
>      tx_packets_csum: 179526
>      tx_undo: 0

 .../...

Ok so none of the error counters seem to trip, odd. No idea what's up,
you may want to ask the folks at APM (CCed Tirumala).

I wonder also if we are properly enabling the reporting of error
interrupts... if we got that wrong we may never detect FIFO overruns.
What you describe really looks like a fifo overrun to me.

Additionally, look at emac_configure(), sees how it configures the pause
packet thresholds, maybe you can tweak the watermark to be more
aggressive. Also check that pause is actually enabled (with ethtool) and
that the PHY negociated it properly (that the link partner supports
pause frames).

Cheers,
Ben.