Matthew Wilcox de Oracle ha enviado su decimocuarta revisión del conjunto de parches de”folios”de memoria para esta nueva estructura que tiene como objetivo mejorar el código de administración de memoria de Linux y, en última instancia, un mejor rendimiento.

Las publicaciones en memoria son el trabajo que puede permitir un mejor rendimiento del sistema como ~ 7 Compilaciones de kernel% más rápidas como una métrica beneficiosa. Para aquellos que se han perdido los artículos anteriores sobre las publicaciones de memoria de Linux, Wilcox lo resume así:

Administrar la memoria en páginas de 4 KB es una sobrecarga importante. Muchos puntos de referencia se benefician de un”tamaño de página”más grande. Como ejemplo, una iteración anterior de esta idea que usaba páginas compuestas (y no estaba particularmente ajustada) obtuvo un aumento de rendimiento del 7% al compilar el kernel.

El uso de páginas compuestas o THP expone una debilidad de nuestro sistema de tipos. Las funciones a menudo no están preparadas para que se les pasen páginas compuestas y solo pueden actuar en fragmentos de PAGE_SIZE. Incluso las funciones que son conscientes de las páginas compuestas pueden esperar una página de inicio y hacer lo incorrecto si se pasa una página de cola.

También desperdiciamos muchas instrucciones asegurándonos de que no estamos viendo una página de cola. Casi todas las llamadas a PageFoo () contienen una o más llamadas ocultas a composite_head (). Esto también sucede con get_page (), put_page () y muchas más funciones.

Esta serie de parches usa un nuevo tipo, el struct folio, para administrar la memoria. Convierte suficiente caché de página, iomap y XFS para usar publicaciones en lugar de páginas, y luego agrega soporte para publicaciones de varias páginas. Pasa xfstests (que se ejecuta en XFS) sin regresiones en comparación con v5.14-rc1.

Con folios de memoria v14 el código se vuelve a basar en Linux 5.14-rc1 y hay una variedad de correcciones de código de bajo nivel, cambio de nombre de varias funciones y otros cambios en su mayoría menores en esta etapa para mejorar el formato y la estructura del código.

Hay una llamada para ver al menos algunas publicaciones de memoria para Linux 5.15 , así que veremos si eso sucede. Dadas las posibles ganancias de rendimiento, también estaré activando algunos puntos de referencia del kernel con folios de memoria en breve.

Categories: IT Info