Re: [nottingham] Bonding Ethernet Channels into one 2 x Pipe

From: Jon Masters (jonathan@jonmasters.org)
Date: Thu 08 Aug 2002 - 18:48:07 BST


On Wed, 7 Aug 2002, Robert Davies wrote:

> AFAIK the checksum calculation with modern CPUs has almost zero overhead, a
> lot of work was done on the algorithm, and permitting the calculations to run
> in parrallel with other networking code. Remember modern CPUs have pipelines
> and try to do more than one thing at a time, including out of order execution.

Tiny. Considering the overhead involved with switching in the interrupt
handler, running it, scheduling tasklets, switching back to the previous
task, etc. The Solaris route of running interrupt handlers as conceptual
high priority threads (which get scheduled on certain interrupt
priorities, excluding timer ticks and some others) is a cool one and
helps with general performance - though you can argue that's effectively
what you get with tasklets anyway...I'm rambling and the point is that I
agree with you :-)

> This has nothing to do with DMA, AFAIK all decent PCI cards will use DMA for
> transfers.

If you can find one that doesn't and does do 1000MBit networking then I'll
not only be impressed, I'll eat that cowboy hat of mine.

> Even with DMA, the card generally has to generate an Interrupt to say a
> packet needs servicing. There are cards which permit polling rather than
> interrupts, and a driver was under development to use that feature. If
> you're interested a search of Kernel Traffic or the LWN kernel pages, might
> show up an explanation how a non-interrupt driven driver would work.

That would be almost stupid for high performance networking ;-)

Jon.

--------------------------------------------------------------------
http://www.lug.org.uk http://www.linuxportal.co.uk
http://www.linuxjob.co.uk http://www.linuxshop.co.uk
--------------------------------------------------------------------



This archive was generated by hypermail 2.1.3 : Thu 08 Aug 2002 - 18:52:14 BST