Linus Torvalds tiene un problema y Linux 7.3 ya roza las 41 millones de líneas de código: "Son enormes, como siempre"

Linux 7.3 ya roza los 41 millones de líneas de código
Linux 7.3 ya roza los 41 millones de líneas de códigoGenerada con IA
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

El kernel de Linux no para de crecer en tamaño y las novedades en hardware de AMD han disparado su tamaño. Linux 7.3 ya está muy cerca de superar los 41 millones de líneas.

Linux 7.2 salió hace unas semanas, pero la mayor parte del trabajo está ahora enfocada en el futuro Linux 7.3. Sigue en un muy temprano desarrollo, pero las novedades y mejoras parecen que están ahogando el kernel, que ya se acerca a las 41 millones de líneas de código.

Parece que este crecimiento se debe, en parte, al controlador gráfico AMDGPU, que está recibiendo soporte para nuevo hardware de AMD. Para que Linux pueda trabajar con estas nuevas GPU, el kernel necesita incluir toda la información necesaria sobre ellas. Y ahí es cuando aparecen unos archivos enormes.

Torvalds lo ha explicado al anunciar la primera versión candidata de Linux 7.3. Según sus palabras, el cambio de AMD supone aproximadamente un tercio de todo el código añadido en Linux 7.3-rc1

"También es una diferencia considerable, y la razón no sorprende: se trata de otra versión con un volcado de registros de la GPU AMD de gran tamaño. En esta ocasión, son los encabezados de registro de la AMD DCN6. Son enormes, como siempre", comenta.

Eso sí, no es que AMD haya escrito de repente millones de líneas de funciones nuevas: una parte importante son definiciones del hardware que ocupan muchísimo espacio.

Y hay otro dato que comentar. Si se cuenta el código del kernel con la herramienta cloc, Linux 7.3-rc1 llega a unos 40,98 millones de líneas. Linux 7.2 estaba en unos 40,42 millones. Es decir, en una sola versión se han añadido más de medio millón de líneas al proyecto.

¿Por qué Linux 7.3 ha crecido tanto?

La compañía del pingüino está preparando nuevos bloques de hardware y Linux necesita conocerlos para poder utilizarlos bien.

Uno de esos bloques es DCN 6.0, relacionado con la parte de pantalla de las GPU. Para incluir su soporte, AMD ha añadido al kernel unos archivos con una gran cantidad de registros y definiciones del hardware.

El problema es que estos archivos pueden ser enormes. Torvalds lo resumía de una forma bastante sencilla: cuando se vuelca toda la información del hardware en forma de definiciones de C, el resultado ocupa muchísimo.

AMD ya ocupa una parte enorme del kernel de Linux

El directorio drivers/gpu/drm/amd, que incluye el controlador gráfico actual de AMD, el controlador de computación AMDKFD y diferentes componentes relacionados con las pantallas, ya supera los 6,5 millones de líneas.

Eso supone aproximadamente el 16% de todo el kernel de Linux si se compara con la cifra total de Linux 7.3-rc1. Y todo esto sigue creciendo. En Linux 7.2, ese mismo directorio tenía alrededor de 6,35 millones de líneas. Ahora está en unos 6,52 millones.

Y si te preguntas si el kernel va a seguir creciendo, la respuesta parece clara. Viendo las cifras actuales, Linux 7.4 debería superar fácilmente los 41 millones de líneas. Eso sí, esto no significa que Linux se esté convirtiendo en un sistema peor, aunque sí que puede suponer una mayor carga de trabajo.

Aquí es donde la IA puede echar una mano. No se trata de dejar que una inteligencia artificial decida qué código entra en Linux, sino de utilizarla para quitar trabajo repetitivo a los desarrolladores. Puede ayudar a revisar parches, detectar errores, ordenar cambios o preparar parte de la documentación.

La inteligencia artificial se puede convertir en un arma de doble filo para los responsables de Linux

Eso sí, el uso de la IA tiene una cara B. Sin ir más lejos, la cantidad de código generado con ayuda de IA está creciendo tanto que los propios responsables del kernel afirman estar desbordados

El problema no es que la inteligencia artificial esté escribiendo una parte vital de Linux, sino que está generando una avalancha de pequeños cambios que alguien tiene que revisar.

 Jakub Kicinski, uno de sus responsables, explica que él y Paolo Abeni han tenido que revisar un volumen enorme de parches. En Linux 7.3 se han integrado 632 cambios en net y otros 648 en net-next, pero esto va más allá.

Según Kicinski, entre un tercio y la mitad de los parches de net-next parecen estar relacionados con tareas de baja prioridad, pequeñas correcciones, limpiezas de código o aclaraciones generadas con ayuda de modelos de lenguaje.

Y aquí está el problema: que una IA genere un parche es muy rápido, pero comprobar que ese parche no rompe nada puede llevar bastante más tiempo.

Los responsables de Linux tienen que revisar el código, entender qué intenta cambiar, comprobar que realmente soluciona algo y asegurarse de que no genera otro problema. Todo esto mientras también se enfocan en crear una actualización de kernel verdaderamente potente.

Ver sus artículos

Carolina González

Redactora

Carolina González, redactora de actualidad, reportajes a fondo, análisis de todo tipo de productos y vídeos para el canal de Youtube.