Ingo Molnar presentó la segunda versión de un conjunto de parches que permite reducir significativamente el tiempo de recompilación del núcleo mediante la reestructuración de la jerarquía de archivos de encabezado y la reducción del número de dependencias cruzadas. La nueva versión, adaptada para el núcleo 5.16-rc8, se distingue de la primera versión propuesta hace unos días por la adición de optimizaciones adicionales y la implementación del soporte para la compilación utilizando el compilador Clang. Al usar Clang, la aplicación de los parches permitió reducir el tiempo de compilación en un 88% o un 77% en términos de consumo de recursos CPU. Con la recompilación completa del núcleo mediante el comando 'make -j96 vmlinux', el tiempo de compilación se redujo de 337.788 a 179.773 segundos.
En la nueva versión también se resolvió un problema con los complementos de GCC, se corrigieron errores identificados durante la revisión inicial y se unificaron los duplicados de la declaración de la estructura 'task_struct_per_task'. Además, se continuó con la optimización del archivo de encabezado linux/sched.h y se implementó la optimización de los archivos de encabezado del subsistema RDMA (infiniband), lo que permitió reducir el tiempo de compilación en un 9% respecto a la primera versión de los parches. El número de archivos C del núcleo que incluyen el archivo de encabezado linux/sched.h se redujo del 68% al 36% en comparación con la primera versión de los parches (del 99% al 36% en comparación con el núcleo original).
Fuente: opennet.ru
