site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Josh Graessley writes:
No. TCP offload support is something on the to-do list. It's just a question of resources and priorities. As much of a mess as that will create, there is potentially a huge upside. The question is, how many people will benefit from it whether there are more pressing issues.
Full TCP offload (like Micrsoft's Chimney) is a much bigger, and nastier can of worms than TSO (aka LSO), and could certainly be described as a "mess to create." However, TSO is not full TCP offload, it is just another popular stateless offload. In TSO, the TCP stack sends a "jumbo" (up to 64KB) IP packet down to the driver and NIC, and the NIC itself carves that packet up into many smaller frames. The advantage of TSO is that you reduce by up to a factor of 40 or so the number of trips from tcp_output() through the IP, ethernet, and IOKit layers to the driver. Additionally, the NIC can typically make better use of the PCI bus by issuing larger DMA reads. It would probably take a full time person a week or less to port the infastructure from one of the BSDs, and I'm pretty sure the Intel8245x ethernet chips on most new Apple hardware support TSO, so you'd see an immediate benefit. Here is a link to the FreeBSD commits, so as to give an idea of the relatively small scope of the changes: http://lists.freebsd.org/pipermail/cvs-src/2006-September/068483.html http://lists.freebsd.org/pipermail/cvs-src/2006-September/068487.html http://lists.freebsd.org/pipermail/cvs-src/2006-September/068524.html (anybody doing a real port would have to look for updates, as of course bugs were fixed in the next few days). The payoff is pretty large. For the 10GbE NIC I do drivers for, we went from sending at ~2Gb/s to ~8Gb/s when using a 1500 byte MTU on a fairly wimpy 1.8GHz single CPU AMD64 when I implemented TSO support in our FreeBSD driver. Drew _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com