On Tue, Jan 10, 2006 at 08:55:15PM +0200, Michael S. Tsirkin wrote: > Dont try to post more send work requests if the TX ring is full. > Setting netif_stop_queue is insufficient: linux can still land > a tx packet on us. > > Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]> > > Index: openib/drivers/infiniband/ulp/ipoib/ipoib_ib.c > =================================================================== > --- openib.orig/drivers/infiniband/ulp/ipoib/ipoib_ib.c 2006-01-10 > 15:38:36.000000000 +0200 > +++ openib/drivers/infiniband/ulp/ipoib/ipoib_ib.c 2006-01-10 > 18:49:33.000000000 +0200 > @@ -344,6 +344,13 @@ void ipoib_send(struct net_device *dev, > * means we have to make sure everything is properly recorded and > * our state is consistent before we call post_send(). > */ > + if (unlikely(priv->tx_head - priv->tx_tail == IPOIB_TX_RING_SIZE)) { > + ipoib_dbg(priv, "TX ring full, dropping packet\n"); > + ++priv->stats.tx_errors;
Could this be tx_dropped? I'm looking at ifconfig output and assuming tx_dropped is used: [EMAIL PROTECTED]:~$ /sbin/ifconfig ib0 ib0 Link encap:UNSPEC HWaddr 00-00-04-04-FE-80-00-00-00-00-00-00-00-00-00-00 inet addr:10.0.0.51 Bcast:10.0.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:2044 Metric:1 RX packets:1020109972 errors:0 dropped:0 overruns:0 frame:0 TX packets:1549932074 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:128 RX bytes:160480185298 (149.4 GiB) TX bytes:1854376582766 (1.6 TiB) grant > + dev_kfree_skb_any(skb); > + return; > + } > + > tx_req = &priv->tx_ring[priv->tx_head & (IPOIB_TX_RING_SIZE - 1)]; > tx_req->skb = skb; > addr = dma_map_single(priv->ca->dma_device, skb->data, skb->len, > > -- > MST > _______________________________________________ > openib-general mailing list > openib-general@openib.org > http://openib.org/mailman/listinfo/openib-general > > To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general