BookinglyTech News
Software

Un ingeniero de ARM usa IA para acelerar la compilación del kernel Linux

Lorenzo Stoakes publica 23 parches que paralelizan tareas en la compilación del núcleo, con mejoras de hasta el 90% en builds noop.

2 min de lecturaPhoronix0 vistas

Lorenzo Stoakes, ingeniero de ARM y veterano desarrollador del kernel Linux, ha publicado una serie de 23 parches para acelerar significativamente la compilación del núcleo. El trabajo, que se basa en el análisis de cuellos de botella con la ayuda de un LLM, logra mejoras de tiempo de build que van desde cerca del 36% en compilaciones completas con todos los módulos hasta un 70% en builds incrementales y aproximadamente un 90% en builds que no cambian nada (noop).

La clave está en paralelizar tareas que tradicionalmente se ejecutaban en un solo hilo y en mejorar la eficiencia general del proceso. Los cambios afectan a áreas como Kbuild, kallsyms, modpost, objtool, mksysmap y el sistema de compilación de Rust. Stoakes reconoce que el LLM generó "mucho código, mucho de él horrible", pero que él lo auditaron y reescribieron a fondo. Cada commit incluye una etiqueta 'Assisted-by' para reflejar la participación de la IA.

En el hilo de parches en lore.kernel.org se explica la metodología: el LLM no solo ayudó a identificar los cuellos de botella, sino que también orquestó ejecuciones de build, pruebas y análisis. Stoakes asegura que verificó manualmente la corrección tanto en la compilación como en el kernel en ejecución, y que las mejoras de rendimiento fueron confirmadas de forma manual.

Los benchmarks se pueden consultar en la página de resultados de OpenBenchmarking, donde se comparan tiempos de compilación en diferentes CPUs y configuraciones. Estos datos muestran que la mejora es consistente en una amplia gama de hardware.

Lo más relevante no es solo el porcentaje de aceleración, sino que se ha encontrado una vía para romper los cuellos de botella en un proceso que parecía ya optimizado. Si los parches superan la revisión, podrían entrar en el mainline del kernel y beneficiar a todos los que compilan su propio núcleo, desde desarrolladores hasta distribuciones que generan paquetes. Queda por ver cómo reaccionan los mantenedores y si la paralelización propuesta es estable en todos los escenarios, pero los resultados iniciales son prometedores.