ring buffer overflow with 386PC and 16 bit SMC ethernet card..

ring buffer overflow with 386PC and 16 bit SMC ethernet card..

Post by Timothy J Fly » Sat, 24 Feb 1996 04:00:00



        Does anyone know how to fix this?(see subject line)

        please email..

--



http://www.public.iastate.edu/~tflynn |  -> Home (515)-232-3477

 
 
 

ring buffer overflow with 386PC and 16 bit SMC ethernet card..

Post by Jim Re » Wed, 28 Feb 1996 04:00:00



  Does anyone know how to fix this?(see subject line)

I "fixed" it by commenting out the printf in the driver.  A better fix might
be to get the $30 ethernet card instead of the $10 card next time.

 
 
 

ring buffer overflow with 386PC and 16 bit SMC ethernet card..

Post by carlo » Sun, 03 Mar 1996 04:00:00


hello

------------------------------------------------------------------------

6.4.5   I get a lot of 'ring buffer overflow' messages using NFS and the
        ed0 driver.  Is there a problem?


        the ed0 driver, provides us with some insight into the inner
        workings of the ed0 driver.

           It always surpises me that people don't just ask the original
        author these questions. :-) Anyway, the reason these are
happening
        is that the access to the 8bit boards shared memory simply isn't
        fast enough to deal with full wire speeds...but the driver tries
        hard...so even though packets get dropped, your performance only
        drops to about what the ethernet board is capable of (should be
        in the 400-600k range with an 8bit card). NFS is especially bad
        because the UDP window is quite large (40k last time I looked),
        so the overflow condition can happen easily. I've explained this
        for the most part in the release notes for the driver, but these
        didn't make it into either the FreeBSD or NetBSD releases (we
        couldn't find an appropriate place to put them).

        >From the release notes:

        receive
        -------
           The 8390 implements a shared memory ring-buffer to store
        incoming packets.  The 8bit boards (3c503, and 8003) usually
have
        only 8k bytes of shared memory.  This is only enough room for
about
        4 full size (1500 byte) packets. This can sometimes be a
problem,
        especially on the original WD8003E and 3c503.  This is because
these
        boards' shared memory access speed is also quite slow compared
to
        newer boards - typically only about 1MB/second. The additional
        overhead of this slow memory access, and the fact that there is
        only room for 4 full-sized packets means that the ring-buffer
        will occassionally overflow.  When this happens, the board must
        be reset to avoid a lockup problem in early revision 8390's.
        Resetting the board will cause all of the data in the
ring-buffer
        to be lost - requiring it to be
re-transmitted/received...slowing
        things even further.  Because of these problems, maximum
throughput
        on boards of this type is only about 400-600k per second. The
16bit
        boards (8013 series), however, have 16k of memory as well as
much
        faster memory access speed. Typical memory access speed on these
        boards is about 4MB/second. These boards generally have no
problems
        keeping up with full ethernet speed. The only problem I've seen
        with these boards is related to the (slow) performance of
386BSD's
        malloc code when additional mbufs must be added to the pool.
This
        can sometimes increase the total time to remove a packet enough
        for a ring-buffer overflow to occur.

        With NFS, the problem is really bad, though.  The 3c503 does not
        have enough memory on the card to support the default 8k packets
        that NFS and other protocols use as their default.  The solution
        for folks that are having a problem with ring buffer overflows
        in NFS is for them to either use the -r and -w flags to limit
        the packet size or use the define "NFS_BOOT_RWSIZE=8192".  If
        NFS doesn't work with this defined, the code will automatically
        step down to the next smaller increment.  If you KNOW that you
        will always be running a 3c503, you can set this define to 4096
        instead, just to make sure.  This should eliminate the bulk of
        the ring buffer overflows in NFS.
----------------------------------------------------------------------
                                                calb.
____________________________________________________
     ___   _____  _   ____    
    / __// _   // /  / o)    calb
   / /_ / /_/ // /_ /  \ ordago.gsyc.inf.uc3m.es  
  /___//_/ /_//___//__)
____________________________________________________

 
 
 

1. SMC Ultra 16-bit ethernet card

Hello,

I'm trying to set up an SMC Ultra ethernet card but am having
problems.  I'm using 1.2.11, which recognizes the card correctly at
bootup but can't seem to send anything to it when I try to mount my
filesystems over NFS.  I've used the software that comes with the card
to configure it for IRQ 5, address 0x300 and the tests say that
everything passes.  Does anyone have any suggestions?

Thanks,
Steve

2. Null Modem Cable Setup

3. ISA SMC Elite 16 ethernet card

4. Dual Boot on a Sparc Machine ?

5. Trouble with ethernet-card (Elite 16 -SMC)

6. wuftp ?

7. G/Ethernet 16 bit card

8. Video Cards support for 160x75 (or greater)

9. WANTED: 16 bit ethernet card

10. Addtron AE-200JL-n 16-bit ethernet card????

11. SB 16 PnP: 8-bit sound works, 16-bit sound broken?

12. 16 bit 3Com ethernet card on a Toshiba 440CDT Satellite Pro

13. LinkSys 32 bit verses 16 bit cards