"Fast Switching" or NIC-to-NIC communications AND channel bonding discouragement

Robert Olsson Robert.Olsson@data.slu.se
Sun Mar 12 16:03:07 2000


Brian Dushaw writes:
 > When compiling the kernel recently, I noticed the option for "fast
 > switching" for faster communications when connected NIC-to-NIC.  The
 > help sez the "tulip" supports this.  I enabled this option, but
 > the communication speed (checked via netperf) is unchanged.  Is there
 > some other voodoo, some goat to be burned, to enable the "fast 
 > switching"?  I have the Linksys LNE100TX cards and the tulip driver
 > from the supplied floppy (other drivers seem to not to work so well with
 > this card).
¨
 Hello!

 There is no support for "fast switching" in the current tulip.c neither
 2.2 or 2.3 kernels. The 2.1 kernels had a tulip version with the "fast 
 switching" code. I consider Alexey Kuznetsov as inventor and he did the
 the additions to tulip.c as well. This work was not included the in the
 stock tulip.c or other drivers either but it's another story.

 Anyway "fast switching" is really fast we have done lots experimenting
 with this. But consider FS just for plain routers were no filtering
 and QoS handling is needed. FS improves the packet per second performance.
 Packets are more or less DMA'ed from NIC-to-NIC.
 
 From my head I can give you some performance numbers with linux routing 
 between two tulip NIC's and smallest packets 64 bytes.
 (PII ~400 Mhz ~100 Mhz bus geunine fast ethernet tulip chips)
 
 Normal path       :   ~40 KPPS
 Fast switching patch: ~147 KPPS

 Well I should say that in FS we use skb recycling as well. I don't remember
 the throughput without skb recycling in FS path.

 I should say we seem differences between tulip and tulip clones. I've seen
 chip that is not capable of filling a fast ethernet with smallest packets.

 But one should also realize that 147 KPPS is "very" high number. We and 
 other universities use Linux routers in our routing core. So far we have
 seem about 10 KPPS as maximum so "Normal path" is still fine us.

 And use UDP with forwarding tests and just count packet throughput
 in the router. With medium size packets you should saturate a the
 100 Mbps ethernet pipe unless something is broken.

 The only easy way find out if there is still CPU in the router is to
 time a loop (while(1)) during the test. Any ideas are welcome.
 Tell me if you want to try the driver we play with.


						--ro
 


-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-tulip-request@beowulf.org