AutoFDO Boosts Optimization in Android Kernels

Google summed up the implementation of AutoFDO (Auto-Feedback-Directed Optimization) for optimizing the Linux kernel for the Android platform. AutoFDO uses profiling results to enhance the performance of frequently executed code sections by analyzing the frequency of their execution. This optimization is now available when building the Linux kernel 6.12 for Android 16 and 6.6 for Android 15, with plans to include it in the upcoming 6.18 kernel for Android 17. Performance profiles for AutoFDO are based on running 100 popular applications from the C-Suite (Android App Compatibility Test Suite) and simulating user interactions.

Prior to this, AutoFDO optimization was used in Android for assembling system libraries and executable files, resulting in a 4% faster program launch and 1% reduced loading time on average. However, it had not been utilized for the Linux kernel until now, despite Google’s data showing that kernel components occupy 40% of CPU time in Android.

Tests conducted after enabling AutoFDO for the kernel showed a 2.1% reduction in boot time, 4.3% faster program launches, 9.3% improved efficiency in system calls, as well as decreases in execution time for various important operations like Binder transactions. These optimizations led to significant improvements in performance metrics for the Android platform.


/Reports, release notes, official announcements.