The black art of network performances
summary
Uses perf and kernel counters to pinpoint where CPU cycles go, not vague examples: a simple UDP receiver (pktgen → app that reads and drops) pinned cores and RPS off shows 1.66M pps; switching to receiveMmsg/GRO options and toggling early demux/connected UDP sockets raises it above 2M and with UDP GRO and recvmmsg to ~3M, and further disabling mitigations reaches ~4M pps. A separate test shows half-offload drops 18→11 Gbps because the NIC/driver reconstructs headers pre-GRO, so hardware offload can hurt unless HW supports GRO-alignment.
AI-written summary · about
chapters (6)
- 0:00Networking performance intro
- 4:01UDP receive case study
- 19:31Hardware offload surprises
- 29:56Debugging partial offload
- 31:43Performance trade-offs
- 35:18Q&A
related talks
31mA Practical, Research‑Backed Introduction To Cloud‑Native Kernel‑Bypass Networking
30mLessons From Defending The Indefensible
02h 53mPreview Sessions
47mSpeedrun through Splicing Sockets with Sockmap
31mHow to capture 100G Ethernet traffic at wire speed to local disk
47mThe World of 100G Networking
44mAdvanced Linux Kernel Networking Monitoring
25mDebug Functional and Performance Issues in Rte_flow
