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@gmail.com> Differential Revision: https://reviews.freebsd.org/D13034
This commit is contained in:
parent
a16c833842
commit
0649de8615
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user