Thread (24 messages) flat view 24 messages, 6 authors, 2012-07-05

RE: [PATCH net 1/7] qlge: Fixed packet transmit errors due to potential driver errors.

From: Eric Dumazet <hidden>
Date: 2012-07-03 20:27:20

On Tue, 2012-07-03 at 12:38 -0700, Jitendra Kalsaria wrote:
I think my patch description might have been misleading. We are not
fixing a logical problem but rather a statistics reporting problem.
Our transmit function is not getting called when queue is full but
when we stop the queue it increment tx_error statistic and one of our
customers is running a test that deliberately floods the queue causing
it to periodically be stopped. The customer has not reported logical
problem with the test were driver perform very well but they merely
pointed out that we were incorrectly reporting the queue full
condition as a tx_error.

This patch was intended to remove the line that increments the
tx_error statistic when the queue is correctly stopped.
I believe everybody kindly ask you to fix the driver logic instead
of trying to hide to your customers the problems.

In fact, you could just BUG() at this point, and maybe David will accept
such a patch.

testing atomic_read(&tx_ring->tx_count) at the beginning of qlge_send()
is too late. NETDEV_TX_BUSY is deprecated.

Well behaving drivers should perform the test at the end of their
ndo_start_xmit() and stop the queue so that next packet wont come at
all.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help