Linux 7.3 acaba de mejorar una de las partes más importantes del sistema: así gestionará mejor la memoria en ARM64

Linux 7.3
Linux 7.3Imagen generada con IA
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

El cambio sustituye al mecanismo anterior llamado BBML2-noabort y llega acompañado de otros ajustes para procesadores ARM64, incluidos los chips Olympus de NVIDIA.

Linux continúa evolucionando en segundo plano para corregir errores, adaptarse a nuevo hardware y hacer que el sistema sea cada vez más sólido para millones de usuarios en todo el mundo.  

Muchas de esas mejoras no son visibles para quien utiliza el ordenador a diario, pero resultan fundamentales para que el kernel pueda aprovechar correctamente los procesadores y administrar los recursos del sistema. Y Linux 7.3 es un buen ejemplo de ello.

En esta nueva versión, el desarrollo de ARM64 recibe varias mejoras importantes después de que Linux 7.2 apenas incorporase novedades relevantes para esta arquitectura. 

Una de las más destacadas afecta directamente a la gestión de memoria y llega con una tecnología denominada BBML3, diseñada para hacer más eficientes determinados cambios internos relacionados con las tablas de páginas.

Se tratan de estructuras que utiliza el sistema para traducir las direcciones virtuales que manejan los programas a ubicaciones físicas de memoria. 

ARM64 cambia la forma de gestionar las tablas de páginas

Linux 7.2 da marcha atrás y recupera más de 600 líneas de código
Linux 7.2 da marcha atrás y recupera más de 600 líneas de códigoGenerada con IA

BBML3 significa Break-Before-Make Level 3 y es una capacidad más reciente de la arquitectura AArch64. Su función está relacionada con las transiciones que se producen cuando el sistema necesita modificar determinadas entradas de las tablas de páginas.

Simplificando el proceso, cuando Linux tiene que cambiar una asignación de memoria, no basta con sustituir una entrada sin más. La arquitectura establece mecanismos para evitar estados inconsistentes durante esa transición. 

BBML3 permite realizar estas operaciones de una manera más eficiente y sustituye al código que el kernel utilizaba hasta ahora, basado en BBML2-noabort.

El resultado esperado no es que un ordenador vaya de repente mucho más rápido ni que consuma menos RAM de forma apreciable. 

La mejora está en el funcionamiento interno del kernel, donde una gestión más optimizada de estas transiciones puede beneficiar tanto al manejo de memoria como a determinadas operaciones realizadas por los hipervisores de máquinas virtuales.

Más trabajo para los nuevos procesadores ARM

El salto de Linux 7.3 en ARM64 no se limita a BBML3, ya que el kernel también incorpora una solución para un problema detectado en los núcleos Olympus de NVIDIA, utilizados en los procesadores Vera. 

El fallo estaba relacionado con el orden en el que se realizan determinadas operaciones de memoria sobre dispositivos y podía dejar un periférico en un estado incorrecto. 

Por ello, Linux introduce una barrera de memoria específica antes de ciertas lecturas MMIO para evitar ese comportamiento.

Del mismo modo, se han preparado correcciones para problemas de hardware relacionados con AWS Graviton5 y NVIDIA Olympus en el subsistema de rendimiento de ARM64. 

A esto se suma el soporte para el DDR PMU de los SoC Marvell CN20K, junto con otros ajustes y correcciones destinados a hardware ARM más reciente. Hay además un cambio relacionado con Branch Target Identification (BTI) dentro del kernel. 

En determinadas versiones recientes del compilador LLVM/Clang, ARM64 desactiva su utilización en el kernel debido a problemas todavía bajo investigación con el mecanismo de livepatching, que permite modificar partes del kernel en funcionamiento.

Linux sigue afinando sus piezas internas

Todo esto refleja una característica esencial del desarrollo de Linux, que mejorar el sistema no consiste únicamente en añadir funciones visibles. 

También implica adaptar el kernel a nuevas generaciones de procesadores, corregir comportamientos específicos del hardware y perfeccionar mecanismos fundamentales que trabajan constantemente por debajo del sistema operativo.

En ARM64, Linux 7.3 recupera parte del trabajo que quedó pendiente en la versión anterior. BBML3 es probablemente el cambio más interesante porque afecta a una pieza fundamental de la gestión de memoria y puede mejorar la eficiencia de las operaciones de virtualización. 

El resto de modificaciones refuerza la misma dirección, con un kernel preparado para hardware ARM cada vez más avanzado y heterogéneo. La consecuencia para el usuario será difícil de apreciar directamente, pero precisamente ahí está el valor de estas mejoras. 

Cuando el sistema operativo gestiona mejor sus mecanismos internos, también construye una base más sólida sobre la que pueden funcionar las aplicaciones, las máquinas virtuales y los nuevos procesadores. 

Linux 7.3 continúa, por tanto, una evolución importante que no siempre se ve, pero que resulta imprescindible para que el sistema siga creciendo.

Más información sobre: