BookinglyTech News
Software

Los parches v3 de Kbuild recortan hasta un 70% el tiempo de compilación del kernel

Lorenzo Stoakes, ingeniero de Arm, publica la tercera revisión de una serie de 20 parches que acelera la compilación del kernel de Linux y apunta a aterrizar en Linux 7.4.

2 min de lecturaPhoronix0 vistas

Lorenzo Stoakes, ingeniero de Arm, ha publicado la tercera revisión de una serie de veinte parches destinada a acelerar la compilación del kernel de Linux. La v3 llega rebasada contra el árbol upstream más reciente, con los avisos reportados por Sashiko ya atendidos y algún cambio menor. Si nada se tuerce, el trabajo podría aterrizar en Linux 7.4 con recortes de hasta un 70% en compilaciones incrementales.

La serie lleva semanas en seguimiento porque el punto de partida no fue el de costumbre: fue una IA la que localizó los cuellos de botella en el código de Kbuild. A partir de ahí, el equipo ha ido apretando el árbol de compilación.

Los números

En las pruebas sobre un Apple M2 con Linux, una compilación completa con Clang salió un 10% más rápida. La incremental, es decir recompilar solo lo que ha cambiado, bajó un 55% con Clang y un 45% con GCC. Y el caso extremo, un make sobre un árbol ya compilado y sin cambios, se movió entre un 74% y un 76% más rápido.

Son cifras de la misma liga que las que ya se habían medido en AMD EPYC y Threadripper, donde el efecto también es notable. Los números del M2 son los que ha ido publicando el propio seguimiento de la serie; de momento no hay una versión del kernel con los parches integrados que cualquiera pueda cronometrar en su máquina.

La v3 está rebasada sobre el Git upstream más reciente y corrige los avisos que había levantado Sashiko. Todo el hilo, con los veinte parches, está en la lista del kernel.

A quién le toca

Quien note esto primero no es el usuario final, sino quien compila el kernel muchas veces al día: granjas de CI que construyen para varias arquitecturas y configuraciones, distribuciones que empaquetan cada revisión, desarrolladores de drivers que recompilan tras cada cambio y cualquiera que haya hecho un bisect largo. Ahí un recorte de dos dígitos en la compilación incremental se traduce en minutos de máquina y en colas que avanzan más rápido.

El apunte que hacía el seguimiento original tiene gracia: compilar el kernel daba antes para ir a por un café. Con los procesadores actuales esa ventana ya se había estrechado, y estos parches la cierran un poco más. Queda por ver si la serie entra en 7.4 sin recortes ni vueltas atrás, porque hasta que no se mergee no hay nada garantizado.