Speaker
Description
Recent support for profile-based optimizations—specifically PGO, AutoFDO, and Propeller—has delivered double-digit performance gains to the core kernel. However, kernel modules do not automatically inherit these benefits. Since a significant portion of execution time can be spent inside these modules depending on configuration, their lack of optimization remains a drawback compared to builtin kernels. This presentation covers the implementation details for extending LLVM's PGO, AutoFDO, and Propeller build support to kernel modules. We will explore the required changes to the build pipeline for profile collection and ingestion, as well as the unique adjustments needed for each optimization mode. With these changes, profile-based optimizations are fully supported across the entire kernel ecosystem.