[Talk Proposal] Understanding Networking Performance in KVM: GSO, TSO, and Datapath Realities

7 views
Skip to first unread message

Nagamani Veerappa

unread,
Mar 28, 2026, 2:15:05 PM (4 days ago) Mar 28
to Kernel Meetup Bangalore

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:

  • Packet flow in KVM virtualized networking (virtio-net, macvtap)
  • GSO vs TSO: expected vs actual behavior
  • Role of netif_skb_features() and gso_features_check()
  • Impact of device capability limits on segmentation behavior
  • Performance implications of software vs hardware segmentation
  • Debugging methodology using tools such as perf, tcpdump, and SAR
  • Practical tuning by aligning guest configuration with device capabilities

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:

  • Introduction and problem statement
  • Experimental setup and observations
  • Packet flow and datapath analysis
  • Kernel feature negotiation and segmentation behavior
  • Root cause: GSO constraints and early segmentation
  • Debugging methodology and tools
  • Key takeaways and tuning strategies

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.

I Viswanath

unread,
Mar 28, 2026, 2:33:11 PM (4 days ago) Mar 28
to Nagamani Veerappa, Kernel Meetup Bangalore
+1
> --
> You received this message because you are subscribed to the Google Groups "Kernel Meetup Bangalore" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to kernel-meetup-ban...@googlegroups.com.
> To view this discussion, visit https://groups.google.com/d/msgid/kernel-meetup-bangalore/CAO%3DrmXozBOh%3DST2OAeT3yOTrfoL%2BAoHMC5i4d7755WkFJa2_iQ%40mail.gmail.com.

Suchit Karunakaran

unread,
Mar 28, 2026, 2:45:19 PM (4 days ago) Mar 28
to I Viswanath, Nagamani Veerappa, Kernel Meetup Bangalore

Balakumaran Kannan

unread,
Mar 28, 2026, 2:55:57 PM (4 days ago) Mar 28
to Suchit Karunakaran, I Viswanath, Nagamani Veerappa, Kernel Meetup Bangalore

Wyes Karny

unread,
Mar 29, 2026, 1:21:58 AM (3 days ago) Mar 29
to Balakumaran Kannan, Suchit Karunakaran, I Viswanath, Nagamani Veerappa, Kernel Meetup Bangalore
Reply all
Reply to author
Forward
0 new messages