From 8b3db0e8228985fa682b3e2e72ab560619831fbc Mon Sep 17 00:00:00 2001 From: wpaul Date: Thu, 6 May 1999 15:32:52 +0000 Subject: 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). --- sys/dev/vr/if_vrreg.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/dev/vr') diff --git a/sys/dev/vr/if_vrreg.h b/sys/dev/vr/if_vrreg.h index f511b92..2859086 100644 --- a/sys/dev/vr/if_vrreg.h +++ b/sys/dev/vr/if_vrreg.h @@ -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_vrreg.h,v 1.10 1999/02/23 06:47:52 wpaul Exp $ + * $Id: if_vrreg.h,v 1.3 1999/02/23 15:38:24 wpaul Exp $ */ /* @@ -335,7 +335,7 @@ struct vr_desc { #define VR_MAXFRAGS 16 #define VR_RX_LIST_CNT 64 -#define VR_TX_LIST_CNT 64 +#define VR_TX_LIST_CNT 128 #define VR_MIN_FRAMELEN 60 #define VR_FRAMELEN 1536 #define VR_RXLEN 1520 -- cgit v1.1