Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Porting back changes from TWiki

In a June 2006 post to the netdev@vger.kernel.org mailing list, Herbert Xu explained GSO (Generic Segmentation Offload). Before GSO, Linux had separate support for Large-Send Offload (LSO) for TCP (called "TSO" or TCP Segmentation Offload) and for UDP (called "UFO" or UDP Fragmentation Offload), but only for devices that have hardware "offloading" support for these features.

...

The GSO code was added to the Linux kernel tree in 2.6.18.

In February 2018, a patch to the Linux kernel was submitted by Éric Dumazet (Google) to always enable GSO for TCP. The rationale is that most TCP optimizations now assume GSO is used. The immediate problem solved by this patch is that the built-in pacing for BBR became a performance bottleneck when "small" (non-GSO) segments were used.

References

-- Main.SimonLeinen - 20142018-1206-2625