summaryrefslogtreecommitdiffstats
path: root/sys/dev/de
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2004-10-18 23:06:12 +0000
committerjmg <jmg@FreeBSD.org>2004-10-18 23:06:12 +0000
commitab5364e4517590fc0e390fe6e8f7d4b7693feaf6 (patch)
tree2d82c8abd0886d8869387831ac453eee2a3b96ae /sys/dev/de
parent4b81ce6dd2658abba782e835143f8008092c1c6f (diff)
downloadFreeBSD-src-ab5364e4517590fc0e390fe6e8f7d4b7693feaf6.zip
FreeBSD-src-ab5364e4517590fc0e390fe6e8f7d4b7693feaf6.tar.gz
fix (for me) the problems where if_de gets really slow after time
(usually taking 20 seconds to transmit a packet).. no longer fall back to only transmitting one packet (instead of the entire queue) after we have processed the entire send queue... I have no idea why we didn't start seeing this problem ~6 years ago when this code was introduced...
Diffstat (limited to 'sys/dev/de')
-rw-r--r--sys/dev/de/if_de.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/sys/dev/de/if_de.c b/sys/dev/de/if_de.c
index 0e25f62..bbbe2a3 100644
--- a/sys/dev/de/if_de.c
+++ b/sys/dev/de/if_de.c
@@ -117,7 +117,6 @@ static void tulip_ifinit(void *);
static int tulip_ifmedia_change(struct ifnet * const ifp);
static void tulip_ifmedia_status(struct ifnet * const ifp,
struct ifmediareq *req);
-static void tulip_ifstart_one(struct ifnet *ifp);
static void tulip_ifstart(struct ifnet *ifp);
static void tulip_init(tulip_softc_t * const sc);
static void tulip_intr_shared(void *arg);
@@ -4635,30 +4634,10 @@ tulip_ifstart(
break;
}
}
- if (IFQ_DRV_IS_EMPTY(&sc->tulip_if.if_snd))
- sc->tulip_if.if_start = tulip_ifstart_one;
}
TULIP_PERFEND(ifstart);
}
-
-static void
-tulip_ifstart_one(
- struct ifnet * const ifp)
-{
- TULIP_PERFSTART(ifstart_one)
- tulip_softc_t * const sc = (tulip_softc_t *)ifp->if_softc;
-
- if ((sc->tulip_if.if_flags & IFF_RUNNING)
- && !IFQ_DRV_IS_EMPTY(&sc->tulip_if.if_snd)) {
- struct mbuf *m;
- IFQ_DRV_DEQUEUE(&sc->tulip_if.if_snd, m);
- if(m == NULL);
- else if((m = tulip_txput(sc, m)) != NULL)
- IFQ_DRV_PREPEND(&sc->tulip_if.if_snd, m);
- }
- TULIP_PERFEND(ifstart_one);
-}
/*
* Even though this routine runs at device spl, it does not break
OpenPOWER on IntegriCloud