Re: [net-next 04/14] net: Fix issue with netdev_tx_reset_queue not resetting queue from XOFF state
flat view
From: John Fastabend <hidden>
Date: 2012-04-21 16:27:32
On 4/20/2012 11:01 PM, Tom Herbert wrote:
quoted
I don't recall the exact reason now, as John said I think it had to do with the ethtool tests not using the same cleanup routine and leaving us in a bad state. I am pretty sure there was some path in which where the call was didn't work but I do not recall the exact details now. Most of the reason for moving it is due to the fact that the reset is now also clearing the bit, and from the driver perspective we didn't need it in two places. After looking it all over again, I suppose this causes a cosmetic issue for the bql "inflight" statistic in sysfs since the value will be retained until the interface is brought back up with this change. Is that an issue or something that can be lived with since the interface isn't active anyway in this case?On the surface, it seems cleaner and probably a simpler convention to clear the state when the buffers are being freed. If there's a good reason not to do this for igb, it makes me wonder if this should be done the same way in other drivers... Tom
Just dug up the old thread. This was to fix a bug that byte queue limits was causing with some of the loopback tests evoked from ethtool. The loopback test uses a separate path to free the buffers which wasn't calling netdev_tx_reset_queue(). We should likely just explicitly clear the state in each routine rather than try to be clever IMO. .John