Speaker
Rong Xu
(Google)
Description
AutoFDO and Propeller are upstream and PGO is available out of tree, but none of them supports kernel modules, which run 4–5% of kernel cycles on Google's servers and carry performance-sensitive vendor drivers on Android. Part 1 presents per-module profiles for all three behind one Kbuild interface, and a path to upstream PGO by reusing compiler-rt's profile code. Part 2 shows why function-level coverage misleads once functions are split, and introduces line-level attribution and Cycles per Byte (CPB) to measure how well a kernel's hot code is laid out.
Author
Rong Xu
(Google)
Co-authors
Han Shen
(Google)
Sriraman Tallam
(Google)