diff options
author | wpaul <wpaul@FreeBSD.org> | 1999-05-06 15:32:52 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1999-05-06 15:32:52 +0000 |
commit | 8b3db0e8228985fa682b3e2e72ab560619831fbc (patch) | |
tree | b1e9c98fdbbad66727def9852b5bb7c672d71f45 /sys/pci/if_tl.c | |
parent | 14f270d531fd127b5de0e208cc9d44257284ec35 (diff) | |
download | FreeBSD-src-8b3db0e8228985fa682b3e2e72ab560619831fbc.zip FreeBSD-src-8b3db0e8228985fa682b3e2e72ab560619831fbc.tar.gz |
Tweak the Macronix driver to hopefully make it more reliable:
- Change to the same transmit scheme as the PNIC driver.
- Dynamically set the cache alignment, and set burst size the same as
the PNIC driver in mx_init().
- Enable 'store and forward' mode by default. This is the slowest option
and it does reduce 100Mbps performance somewhat, but it's the most
reliable setting I can find. I'm more interested in having the driver
work reliably than trying to squeeze the best performance out of it.
The reason I'm doing this is that on *some* systems you may see a lot
of transmit underruns (which I can't explain: these are *fast* test
systems) and these errors seem to cause unusual and decidedly
non-tulip-like behavior. In normal 10Mbps mode, performance is fine
(you can easily saturate a 10Mbps link).
Also tweak some of the other drivers:
- Increase the size of the TX ring for the Winbond, ASIX, VIA Rhine
and PNIC drivers.
- Set a larger value for ifq_maxlen in the ThunderLAN driver. The setting
of TL_TX_LIST_CNT - 1 is too low (the ThunderLAN driver only allocates
20 transmit descriptors, and I don't want to fiddle with that now
because the ThunderLAN's descriptor structure is an oddball size
compared to the others).
Diffstat (limited to 'sys/pci/if_tl.c')
-rw-r--r-- | sys/pci/if_tl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/pci/if_tl.c b/sys/pci/if_tl.c index 16446fd..4ff91d5 100644 --- a/sys/pci/if_tl.c +++ b/sys/pci/if_tl.c @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_tl.c,v 1.28 1999/03/31 04:04:14 wpaul Exp $ + * $Id: if_tl.c,v 1.29 1999/04/24 20:14:01 peter Exp $ */ /* @@ -221,7 +221,7 @@ #if !defined(lint) static const char rcsid[] = - "$Id: if_tl.c,v 1.28 1999/03/31 04:04:14 wpaul Exp $"; + "$Id: if_tl.c,v 1.29 1999/04/24 20:14:01 peter Exp $"; #endif /* @@ -1715,7 +1715,7 @@ tl_attach(config_id, unit) ifp->if_watchdog = tl_watchdog; ifp->if_init = tl_init; ifp->if_mtu = ETHERMTU; - ifp->if_snd.ifq_maxlen = TL_TX_LIST_CNT - 1; + ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; callout_handle_init(&sc->tl_stat_ch); /* Reset the adapter again. */ |