On Wed, Mar 27, 2002 at 07:35:28PM -0500, Logan Bowers wrote:

> Hi, 

Hi,


> I'm not Lennert,

:-)


> but I suspect your problem is due to the fundamental
> limitations of interrupt driven I/O.  Interrupts are expensive, and when
> you're pushing 100Mbit of data, that's 100k Interrupts/sec.  Eventually,
> interrupts are so frequent that the machine is not able to do anything
> useful between them and the interrupt handlers consume all of the CPU's
> time.  I suspect this is what is happening.  That would explain why the
> throughput goes down when you pound the machine harder (more interrupts
> consume more time, and the ability of the machine to process packets
> decreases).  

Yeah, this is exactly what happens.


> I don't know what state the project is in, but do a google search for
> the Click Modular Router Project.  They continuously poll the ethernet
> cards instead of using interrupts as a way to increase the total
> throughput.  Supposedly they should be able to achieve ultra-high
> throughputs very efficiently using this method.  

You can also try NAPI, which is a kernel patch for linux that
also enables polling (net drivers still have to be slightly
adapted for this to work).

        ftp://robur.slu.se/pub/Linux/net-development/NAPI/

Currently there is 3c59x, e1000 and tulip support.  The tulip
support seems to be rock solid, while the 3c59x stuff was
originally done by me so it might not work 100% okay :)


> > Test 2------- Dell PowerEdge Rack Servers 2550
> >         Bridge Machine Spec:
> >                 Processor       Intel PIII 1.26 GHz, 133 MHz bus speed
> >                 Cache size      512 KB
> >                 Memory          1 GB
> >                 Network Card    Intel Corp. 82543GC Gigabit Ethernet,
> >                                 Intel Corp. 82543GC Gigabit Ethernet
> >                         *Note* It had 2 BroadComm gig cards. But
> > unfortunately BroadComm cards don't work in promiscuous mode. So, we had
> > to put these 2 Intel gig cards, which only have module. (so as broadcomm)

The plain broadcom driver sucks.  Try the tg3 driver by Jeff
Garzik and David Miller, which works much better (I can send
over a million packets per second through it on a dual Athlon
1.2ghz).

        ftp://ftp.kernel.org/pub/linux/kernel/people/davem/TIGON3/


> >         TCP: 113 Mbps (with window size 32KB), so i increased window sized
> > by 64KB and i got 260 Mbps. But that's still low on Gig network.

Yeah, odd.  I get full wire speed (120 megabytes/sec) over TCP
between a dual Athlon 1.2ghz and a Pentium III 1.2ghz (where
the athlon is the transmitting host, network card interrupt
bound to CPU#0).


> >         UDP: It drops more than 1/3 of the packets. If i try to push 500
> > Mb then i get around 150 Mb bandwidth and if i try to push 900 Mb then i
> > get 140 Mb.

Are you sure your cabling is okay?


cheers,
Lennert
_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://www.math.leidenuniv.nl/mailman/listinfo/bridge

Reply via email to