Hello,
I would like to propose a talk titled “Understanding Networking Performance in KVM: GSO, TSO, and Datapath Realities”.
In Linux systems, networking performance is often assumed to scale with the use of offloads such as TCP Segmentation Offload (TSO) and Generic Segmentation Offload (GSO). However, in real-world virtualized environments, these assumptions can break down due to subtle interactions within the kernel networking stack.
This talk presents a deep dive into a real-world performance investigation on KVM-based systems, where guest-to-guest throughput showed significant degradation despite all expected offloads being enabled. By comparing different datapaths using macvtap, the session highlights how device capabilities influence transmit path behavior.
The analysis follows the packet journey through the Linux networking stack, focusing on how feature negotiation via netif_skb_features() and constraints such as gso_max_size influence whether segmentation is deferred or performed in software. A key finding is that even when TSO is enabled, it may not be exercised if GSO constraints trigger early segmentation (skb_segment()) in the kernel.
The talk will cover:
The goal of this talk is to provide a clear mental model of where performance decisions are made in the Linux networking stack, and how mismatches across layers can lead to significant degradation even in well-configured systems.
Preferred Format: Regular Talk (25+5 minutes)
Outline:
Bio:
I have 20+ years of experience in Linux kernel, networking, and device driver development, with work spanning virtualized, wireless, and high-performance systems.
Thank you.
To view this discussion, visit https://groups.google.com/d/msgid/kernel-meetup-bangalore/CAPrAcgMKtsnsJvqh27oHYAiso2cW3JJNreie9V6TUBpaksCEMA%40mail.gmail.com.
To view this discussion, visit https://groups.google.com/d/msgid/kernel-meetup-bangalore/CAO9wTFh0psxmw58ZnBtrantobxzLhx8VJvyqDP7sqf3xFsyAkg%40mail.gmail.com.