Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore advanced Linux networking optimizations through a comprehensive conference talk examining two critical aspects of the Microsoft Azure Network Adapter (MANA) driver. Learn how Azure VMs transitioning from traditional x86-64 architecture with 4 KB page sizes to ARM64-based SKUs like ND GB200-v6 with configurable base page sizes (4 KB, 16 KB, 64 KB) exposed significant inefficiencies in network packet handling, where single 1500-byte packets could consume entire 64 KB pages, resulting in severe memory waste and performance degradation. Discover the innovative Linux kernel optimization solution that implements page_pool fragments and pre-DMA-mapped page pools per RX queue, enabling multiple packets to share a single page and achieving remarkable improvements: over 97% reduction in per-packet memory overhead, up to 200% throughput increase on 64 KB ARM64 systems, 50% memory savings, and 15% throughput gains on x86-64 systems. Understand the limitations of existing bandwidth control tools like ethtool's static nature and tc's high-level abstraction that make expressing driver-specific shaping policies difficult, then examine how the new netshaper infrastructure addresses these challenges with a lightweight, YAML-defined Netlink interface for driver-level bandwidth clamping. Follow the practical integration process of netshaper into the MANA driver, including the discovery and resolution of multiple potential deadlocks and missing netdev_ops, plus learn how new iproute2 commands make netshaper accessible without requiring kernel-tree tools, providing both deep technical insights into high-performance RX design for large PAGE_SIZE systems and practical guidance for implementing modern, maintainable bandwidth control in Linux networking environments.