diff options
author | dg <dg@FreeBSD.org> | 1997-03-25 14:54:38 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1997-03-25 14:54:38 +0000 |
commit | 61a2f5437b835dfb2cd8c3051a3290cc05e75feb (patch) | |
tree | 98a5028761c4fa0393a1c5f81254f70c57b46098 /sys/pci | |
parent | 6f2f806e06ad1b963007c6bb878322d7bdf5b77d (diff) | |
download | FreeBSD-src-61a2f5437b835dfb2cd8c3051a3290cc05e75feb.zip FreeBSD-src-61a2f5437b835dfb2cd8c3051a3290cc05e75feb.tar.gz |
Made a couple of minor optimizations that improve performance of the
common case of the interrupt routine by about 20%.
Diffstat (limited to 'sys/pci')
-rw-r--r-- | sys/pci/if_fxp.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/pci/if_fxp.c b/sys/pci/if_fxp.c index 4afce2a..5a041ca 100644 --- a/sys/pci/if_fxp.c +++ b/sys/pci/if_fxp.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_fxp.c,v 1.31 1997/03/21 08:00:11 davidg Exp $ + * $Id: if_fxp.c,v 1.32 1997/03/24 11:33:46 bde Exp $ */ /* @@ -450,7 +450,7 @@ txloop: /* * Grab a packet to transmit. */ - IF_DEQUEUE(&sc->arpcom.ac_if.if_snd, mb_head); + IF_DEQUEUE(&ifp->if_snd, mb_head); if (mb_head == NULL) { /* * No more packets to send. @@ -603,7 +603,8 @@ fxp_intr(arg) * again in fxp_start(). */ ifp->if_timer = 0; - fxp_start(ifp); + if (ifp->if_snd.ifq_head != NULL) + fxp_start(ifp); } /* * Process receiver interrupts. If a no-resource (RNR) @@ -657,8 +658,6 @@ rcvloop: goto rcvloop; } if (statack & FXP_SCB_STATACK_RNR) { - struct fxp_csr *csr = sc->csr; - fxp_scb_wait(csr); csr->scb_general = vtophys(sc->rfa_headm->m_ext.ext_buf); csr->scb_command = FXP_SCB_COMMAND_RU_START; |