svn commit: r325982 - head/sys/arm/allwinner
Emmanuel Vadot
manu at FreeBSD.org
Sat Nov 18 20:59:22 UTC 2017
Author: manu
Date: Sat Nov 18 20:59:20 2017
New Revision: 325982
URL: https://svnweb.freebsd.org/changeset/base/325982
Log:
if_awg: don't process transmitted packets on TX_BUF_UA_INT, only on TX_INT
TX_BUF_UA_INT is set when there are no buffers to transmit and can
happen before hw.awg.tx_interval segments have been transmitted.
To reduce load, tx cleanup should be done in hw.awg.tx_interval intervals.
Submitted by: Guy Yur <guyyur at gmail.com>
Differential Revision: https://reviews.freebsd.org/D13034
Modified:
head/sys/arm/allwinner/if_awg.c
Modified: head/sys/arm/allwinner/if_awg.c
==============================================================================
--- head/sys/arm/allwinner/if_awg.c Sat Nov 18 20:55:37 2017 (r325981)
+++ head/sys/arm/allwinner/if_awg.c Sat Nov 18 20:59:20 2017 (r325982)
@@ -963,8 +963,10 @@ awg_intr(void *arg)
if (val & RX_INT)
awg_rxintr(sc);
- if (val & (TX_INT|TX_BUF_UA_INT)) {
+ if (val & TX_INT)
awg_txintr(sc);
+
+ if (val & (TX_INT | TX_BUF_UA_INT)) {
if (!if_sendq_empty(sc->ifp))
awg_start_locked(sc);
}
More information about the svn-src-all
mailing list