svn commit: r280556 - stable/10/sys/dev/sfxge
Andrew Rybchenko
arybchik at FreeBSD.org
Wed Mar 25 10:58:23 UTC 2015
Author: arybchik
Date: Wed Mar 25 10:58:21 2015
New Revision: 280556
URL: https://svnweb.freebsd.org/changeset/base/280556
Log:
MFC: 279080
sfxge: reap Tx descriptors on unblock
Otherwise when processing finally comes to efx_tx_qdesc_post() it could
be insufficient space between reaped and added to post pending
descriptors.
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)
Modified:
stable/10/sys/dev/sfxge/sfxge_tx.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/dev/sfxge/sfxge_tx.c
==============================================================================
--- stable/10/sys/dev/sfxge/sfxge_tx.c Wed Mar 25 10:57:26 2015 (r280555)
+++ stable/10/sys/dev/sfxge/sfxge_tx.c Wed Mar 25 10:58:21 2015 (r280556)
@@ -1142,8 +1142,11 @@ sfxge_tx_qunblock(struct sfxge_txq *txq)
unsigned int level;
level = txq->added - txq->completed;
- if (level <= SFXGE_TXQ_UNBLOCK_LEVEL(txq->entries))
+ if (level <= SFXGE_TXQ_UNBLOCK_LEVEL(txq->entries)) {
+ /* reaped must be in sync with blocked */
+ sfxge_tx_qreap(txq);
txq->blocked = 0;
+ }
}
sfxge_tx_qdpl_service(txq);
More information about the svn-src-stable-10
mailing list