Intel Developer Proposes "Kernel NET Policy" For Better Linux Network Performance
Intel developer Kan Liang has published a set of 30 patches amount to more than two thousand lines of new kernel for implementing what he calls the Kernel NET Policy.
Here's how Kan Liang explains this proposal for the Linux kernel:
So long story short, it's about providing various hints/policies to network interfaces for yielding better performance depending upon your desired requirements. Those with capable Intel network hardware wanting to learn more can see this set of 30 patches or in particular the documentation for this proposed NET policy subsystem currently being reviewed by fellow kernel developers.
Here's how Kan Liang explains this proposal for the Linux kernel:
It is a big challenge to get good network performance. First, the network performance is not good with default system settings. Second, it is too difficult to do automatic tuning for all possible workloads, since workloads have different requirements. Some workloads may want high throughput. Some may need low latency. Last but not least, there are lots of manual configurations. Fine grained configuration is too difficult for users.
NET policy intends to simplify the network configuration and get a good network performance according to the hints (policy) which is applied by user. It provides some typical "policies" for user which can be set per-socket, per-task or per-device. The kernel will automatically figures out how to merge different requests to get good network performance.
Net policy is designed for multiqueue network devices. This implementation is only for Intel NICs using i40e driver. But the concepts and generic code should apply to other multiqueue NICs too. Net policy is also a combination of generic policy manager code and some ethtool callbacks (per queue coalesce setting, flow classification rules) to
configure the driver. This series also supports CPU hotplug and device hotplug.
So long story short, it's about providing various hints/policies to network interfaces for yielding better performance depending upon your desired requirements. Those with capable Intel network hardware wanting to learn more can see this set of 30 patches or in particular the documentation for this proposed NET policy subsystem currently being reviewed by fellow kernel developers.
17 Comments