RE: Please read - proposed WG termination
Dror Goldenberg <[email protected]> Sat, 3 Sep 2005 10:06:28 +0300
| Newsgroups | gmane.ietf.ipoib |
|---|---|
| Message-ID | <[email protected]> |
From: Michael Krause [mailto:[email protected]] Sent: Saturday, September 03, 2005 1:24 AM Large send can be implemented entirely in software and local to the injection point making it rather trivial to accomplish whille reaping the performance benefits. [dg] This is really interesting ! Why would the performance of a NIC driver doing LSO/TSO in SW be better than the TCP stack doing it on its own ? I tend to believe that the TCP stack is highly optimized, especially in the mainstream path where packet is being constructed. When moving the LSO/TSO from the OS to the NIC driver, you essentially take the same piece of SW and just move it somewhere else in the stack. Am I missing something ? Large receive generally needs some hardware assist to work well but given a large percentage of the protocol off-load implementations rely upon firmware for various operations, it will vary as to whether there is a legitimate execution problem or not. [dg] There was a paper at OLS talking about LRO ( http://www.linuxsymposium.org/2005/linuxsymposium_procv1.pdf <http://www.linuxsymposium.org/2005/linuxsymposium_procv1.pdf> ). My recollection from the talk is that also LRO implementation requires changes from the OS too. For example, in TCP, you're supposed to send an ACK every other incoming segments. If you have LRO implemented in the NIC driver, then you loose track of segment count, unless you can pass that along to the OS (new indication). There is another issue which has to do with duplication of TCP stack work while doing LRO in SW. The paper describes performing many of the TCP/IP checks in the NIC driver in order to take an LRO decision... So, I'm not sure whether this doesn't degrade mainstream operation. There is also a strong assumption on locality for LRO. The paper describes coalescing of subsequent frames. It obviously does great on synthetic benchmarks. To some systems, the locality assumption may not perform well. The same cannot be said for the OS infrastructure changes which is what I and a couple of others have touched upon. [dg] Putting aside for a second the different MTU issue. Can't we just run ipoib-cm on any OS that supports Ethernet jumbo frames ? If yes, then we can say that ipoib-cm cleanly falls into the domain of the IHV NIC driver, and can therefore be supported in a larger variety of OSes. _______________________________________________ IPoverIB mailing list [email protected] https://www1.ietf.org/mailman/listinfo/ipoverib