User: Password:
Subscribe / Log in / New account

Linux and TCP offload engines

Linux and TCP offload engines

Posted Aug 26, 2005 0:44 UTC (Fri) by giraffedata (subscriber, #1954)
Parent article: Linux and TCP offload engines

Something I've always wondered about TCP offload and every other kind of offload: Is it better to add CPU power to a network adapter than to add it to the motherboard? Adding it to the motherboard (faster CPU chip, more SMP CPUs) is certainly simpler, which ought to mean cheaper. Are there technological limits that make it impossible for a single SMP complex to handle all the 10 Gbps packets and all the higher level stuff too?

Sometimes, people add intelligence to the periphery of a system in order to make things more simple by allowing the central processor to remain blissfully ignorant of what's going on out there. But since TCP offload actually requires the central processor to cooperate, this doesn't fit that pattern.

(Log in to post comments)

Linux and TCP offload engines

Posted Aug 26, 2005 7:03 UTC (Fri) by njhurst (guest, #6022) [Link]

I know very little about this, but I think the two things you gain are the ability to make hardware specifically to handle the kinds of calculations (think GPU, FPU, DSP etc) and the ability to concentrate on the data without having to deal with things like interrupts and memory management (polling).

In the case of TOE, I imagine that there are checksums and so on that could be performed whilst dmaing the data through. If this were done by the main CPU it might be that the data arrives much slower than the CPU could handle them, but faster than is suitable for interrupts. So the driver has to do the checksum on a block of data after it is in main memory, effectively doubling the time spend on each packet. The card could just compute the checksum as it does the dma transfer, and leave that somewhere convenient.

I remember that back in the days of the 68k macs they used a separate 6801 or similar to handle the io, as that reduced the time spent in interrupts drastically, without requiring a much more powerful CPU.

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds