Xkernel: Principled Performance Tunability of Operating System Kernels
For OS developers and system administrators, Xkernel provides a principled way to adapt kernel performance to changing hardware and workloads, addressing a long-standing limitation of static kernel constants.
Xkernel enables safe, in-situ tuning of critical performance constants in the Linux kernel, achieving significant performance gains across various OS subsystems without requiring a reboot or code modification.
The Linux kernel is permeated with constant values that are critical to system performance. Many of these constants, referred to as perf-consts, are magic numbers with brittle assumptions on hardware and workloads. Unfortunately, there is no capability of in-situ tuning of perf-const values on deployed kernels. This paper rethinks OS performance tunability. We present Xkernel, a system that offers a safe, efficient, and programmable interface for in-situ tuning of any perf-consts directly on a running kernel. Xkernel transforms any perf-const into a tunable knob on demand using a novel approach called Scoped Indirect Execution (SIE). SIE captures precise binary boundaries where a perf-const enters system state and redirects control to synthesized instructions that update the state as if new values were used. Xkernel goes beyond version atomicity when updating perf-consts to guarantee side-effect safety, a property notably absent in existing kernel update mechanisms. Case studies on various OS subsystems demonstrate significant performance benefits of tuning perf-consts which is made possible by Xkernel.