Large receive offload
In computer networking, large receive offload is a technique for increasing inbound throughput of high-bandwidth network connections by reducing CPU overhead. It works by aggregating multiple incoming packets from a single stream into a larger buffer before they are passed higher up the networking stack, thus reducing the number of packets that have to be processed. In Linux, it is generally used in conjunction with the New API (NAPI) to also reduce the number of interrupts.
According to benchmarks, even implementing this technique entirely in software can increase network performance significantly.[1][2][3] As of April 2007, the Linux kernel supports LRO for TCP in software only. FreeBSD-8 supports LRO in hardware on adapters that support it.[4][5][6] [7]
[edit] See also
- Large segment offload (LSO)
- New API (NAPI)
- TCP offload engine (TOE)
[edit] References
- ^ Jonathan Corbet (2007-08-01). "Large receive offload". LWN.net. http://lwn.net/Articles/243949/. Retrieved 2007-08-22.
- ^ Aravind Menon, Willy Zwaenepoel (2008-04-28). Optimizing TCP Receive Performance. http://www.usenix.org/event/usenix08/tech/full_papers/menon/menon_html/paper.html.
- ^ Andrew Gallatin (2007-07-25). "lro: Generic Large Receive Offload for TCP traffic". linux-kernel mailing list. http://lkml.org/lkml/2007/7/25/313. Retrieved 2007-08-22.
- ^ http://www.freebsd.org/cgi/man.cgi?cxgb
- ^ http://www.freebsd.org/cgi/man.cgi?mxge
- ^ http://www.freebsd.org/cgi/man.cgi?nxge
- ^ "Poor TCP performance can occur in Linux virtual machines with LRO enabled". kb.vmware.com. 2011-07-04. http://kb.vmware.com/kb/1027511. Retrieved 2011-08-17.
| This computer networking article is a stub. You can help Wikipedia by expanding it. |