At 01:13 PM 4/15/00 -0700, Ben Greear wrote:
>I'm abusing my system with raw ethernet pkts (AF_PACKET, SOCK_RAW),
>and seemed to have hit a limit.  When trying to send around 100Mbps
>full duplex using several 4-port NICs, on a Celeron 366 to/from
>a Celeron 500, I start getting this error on the sendto:
>
> ERROR: sendto:  Resource temporarily unavailable
>
>My guess is that the kernel buffers are full.  Is that a good
>guess?
>
>So, some questions:  Considering the Celeron runs with a FSB of
>only 66Mhz, should I even expect any better performance?

The bus will be more of a limiting factor than your celeron. You are
pumping packets into the kernel faster than it can send them out, in which
case you will eventually run out of resources or the queue will fill (if
there is a limit).  The system can submit packets much faster than you can
send them out at 100Mb/s. On BSD systems the queue size is limited (im not
sure if it is in linux), so you'll fill the queue and then get "no buffer
space" errors, which most people mistakenly think is no more buffers, but
its really "queue full". It is senseless to endlessly pile packets into the
queues.....remember, if you were sending them out as fast as you were
submitting them you would only use 1 buffer. 

Your application should either throttle the sending processess slightly or
simply keep resubmitting until you succeed.

DB
>Would increasing the kernel buffers for the NICs help any?
>(This will be a sustained traffic assault.)
>
>Is there an easy way to do this, or do I just dig into the
>code?
>
>Anyone have any suggestions for high-performance (hopefully tulip-compatible)
>single-port ethernet NICs?
>
>I'm using Tulip compatible chips now.  The 4-ports are ZNYX, and
>the single ports range from Netgear to something really cheap...
>
>Here's the /proc/pci for these two devices...
>  Bus  0, device  18, function  0:
>    Ethernet controller: LiteOn LNE100TX (rev 32).
>      Medium devsel.  Fast back-to-back capable.  IRQ 9.  Master Capable.
>         Latency=64.  
>      I/O at 0xe800 [0xe801].
>  Bus  0, device  19, function  0:
>    Ethernet controller: LiteOn Unknown device (rev 37).
>      Vendor id=11ad. Device id=c115.
>      Medium devsel.  Fast back-to-back capable.  IRQ 11.  Master Capable.
>         Latency=64.  Min Gnt=8.Max Lat=56.
>      I/O at 0xe400 [0xe401].
>      Non-prefetchable 32 bit memory at 0xfebffe00 [0xfebffe00].
>  Bus  0, device  20, function  0:
>    Ethernet controller: SMC 1211 TX (rev 16).
>      Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.
>         Latency=64.  Min Gnt=32.Max Lat=64.
>      I/O at 0xe000 [0xe001].
>      Non-prefetchable 32 bit memory at 0xfebffd00 [0xfebffd00].
>
>Thanks in advance,
>Ben
>
>
>-- 
>Ben Greear ([EMAIL PROTECTED])  http://www.candelatech.com
>Author of ScryMUD:  scry.wanfear.com 4444        (Released under GPL)
>http://scry.wanfear.com               http://scry.wanfear.com/~greear
>-
>To unsubscribe from this list: send the line "unsubscribe linux-net" in
>the body of a message to [EMAIL PROTECTED]
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to