We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Networking Performances in the Linux Kernel

Formal Metadata

Title
Networking Performances in the Linux Kernel
Alternative Title
Networking Performances in the Linux Kernel, Getting the most out of the Hardware
Title of Series
Number of Parts
637
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The networking stack is one of the most complex and optimized subsystem in the Linux kernel, and for a good reason. Between the wild range of applications, the complexity and variety of the networking hardware, getting good performances while keeping the stack easily usable from userspace has been a long-standing challenge. Nowadays, complex Network Interface Controllers (NICs) can be found even on small embedded systems, bringing powerful features that were previously found only in the server world closest to day to day users. This is a good occasion to dive into the Linux Networking stack, to discover what is used to make networking as fast as possible, by both using all the features of the hardware, but also implementing some clever software tricks. In this talk, we'll cover these various techniques, ranging from simple batch processing with NAPI, queue management with RSS, RPS, XPS and so on, flow steering and filtering with ethool and TC, to finish with the newest big change that is XDP. We'll dive into these various techniques and see how to configure them to squeeze the most out of your hardware, and discover that what was previously in the realm of datacenters and huge computers can now also be appliable to embedded linux development.