Date: Sat, 18 Nov 2017 20:59:21 +0000 (UTC) From: Emmanuel Vadot <manu@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r325982 - head/sys/arm/allwinner Message-ID: <201711182059.vAIKxLOe026899@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711182059.vAIKxLOe026899>