Fue hace solo cuatro años el controlador del kernel AMDGPU tenía casi un millón de líneas de código ya principios de este año comenzó acercándose a tres millones de líneas . Ahora, con Linux 5.14-rc1 lanzado esta semana, tiene más de 3.3 millones de líneas para este controlador de gráficos del kernel.
Curiosity me sacó lo mejor de mí con el enorme tamaño de AMDGPU, por lo que cuando se ejecuta cloc en”drivers/gpu/drm/amd”de Linux 5.14-rc1, ahora mide 3,32 millones de líneas de código. AMDGPU sigue siendo, con mucho, el controlador más grande dentro del núcleo principal de Linux. Esos 3,3 millones de líneas se componen de 2,86 millones de líneas de”código”, 332.000 líneas de comentarios y unas 127.000 líneas en blanco en 1.715 archivos.
Por supuesto, como sabrán los lectores de Phoronix desde hace mucho tiempo, gran parte del enorme tamaño de AMDGPU se debe a los archivos de encabezado de registro automatizados que se agregan al árbol con cada nueva GPU compatible. Esos archivos de encabezado generados automáticamente basados en la documentación interna de AMD conducen al crecimiento explosivo y es una especie de forma de documentación pública de AMD en estos días. Afortunadamente, las partes no utilizadas de estos archivos de encabezado son eliminadas por el compilador en el momento de la compilación. Según lo medido por cloc, dentro del código gpu/drm/amd hay alrededor de 2,4 millones de líneas de archivos de encabezado y luego 427k líneas de código detectado en C.
Mientras tanto, también existe el controlador DRM”Radeon”dentro del kernel para los procesadores gráficos más antiguos. Ese controlador Radeon DRM asciende a poco menos de 200k líneas de código en total.
Como otra métrica de comparación, el controlador de gráficos del kernel DRM actual de Intel (i915) tiene aproximadamente 313k líneas de código.
El tamaño total del árbol de fuentes de Linux 5.14-rc1 es de aproximadamente 29,7 millones de líneas a través de unos 22 millones de líneas de código detectado, otros 3,7 millones de líneas de comentarios y 3,9 millones de líneas en blanco. O en otras palabras, más del 10% del árbol de fuentes del kernel de Linux se encuentra dentro del código de gráficos/visualización de AMD Direct Rendering Manager.
Para aquellos que se preguntan qué hay de nuevo con este próximo kernel, consulte mi Descripción general de las funciones de Linux 5.14 . En el frente de AMDGPU, el tamaño cada vez mayor se debe a las adiciones para las GPU Yellow Carp y Beige Goby. AMDGPU también tiene un código de desconexión en caliente que ahora funciona bien, PCIe ASPM está habilitado de forma predeterminada, compatibilidad con AMD Smart Shift y varias otras mejoras gráficas de AMD. Linux 5.14 estable debería estar disponible a principios de septiembre.