Desde Linux David Naranjo  

Linux 5.10 llega con optimizaciones significativas de Ext4, ompatibilidad mejorada con AMD SEV y mas

Kernel

Después de dos meses de desarrollo, Linus Torvalds dio a conocer el lanzamiento de la nueva versión del kernel de Linux 5.10, versión que llega con el estado de una rama con un período de soporte prolongado, cuyas actualizaciones se publicarán durante al menos dos años.

Los cambios notables incluyen de esta nueva versión incluyen la compatibilidad con el mecanismo de protección MemTag para sistemas ARM64, opción de montaje «nosymfollow», optimizaciones significativas de Ext4, corrección de XFS 2038, nueva llamada al sistema process_madvise, compatibilidad mejorada con AMD SEV mediante el cifrado de registros de CPU, la capacidad de pausar programas BPF.

La nueva versión recibió 17470 correcciones de 2062 desarrolladores, tamaño del parche: 64 MB (los cambios afectaron a 15101 archivos, agregaron 891932 líneas de código, eliminaron 619716 líneas). Aproximadamente el 42% de todos los cambios introducidos en 5.10 están relacionados con los controladores de dispositivos, aproximadamente el 16% de los cambios están relacionados con la actualización de código específico para arquitecturas de hardware, el 13% están relacionados con la pila de red, el 3% están relacionados con los sistemas de archivos y el 3% están relacionados con los subsistemas internos del kernel.

Principales novedades de Linux 5.10

De los principales cambios que se presentan, podremos encontrar que para ext4 se ha agregado el modo de confirmaciones rápidas (fast_commit), que permite reducir significativamente los retrasos en muchas operaciones de archivos debido al vaciado más rápido de metadatos al disco al ejecutar una llamada fsync(). En circunstancias normales, la ejecución de fsync () sincroniza un conjunto redundante de metadatos. En el modo fast_commit, solo los metadatos necesarios para recuperar el sistema de archivos en caso de un bloqueo se transfieren al registro, lo que acelera las llamadas a fsync () y mejora el rendimiento de las operaciones que manipulan metadatos de forma activa.

Mientras que para Btrfs se incluye importantes optimizaciones de rendimiento relacionadas con las operaciones fsync(). La reducción en la contención de log mutex dio como resultado un aumento del 4% en el rendimiento y una reducción del 14% en la latencia cuando se ejecuta el punto de referencia dbench con 32 clientes. La eliminación de confirmaciones adicionales para enlaces y cambios de nombre aumentó el ancho de banda en un 6% y redujo la latencia en un 30%. Limitar fsync para esperar solo en reescrituras aumentó el rendimiento en un 10-40%.
Además, la implementación de Btrfs de E/S directa (io directo) se ha trasladado al marco de iomap. 

XFS agrega cambios de metadatos de inodo para abordar problemas de desbordamiento en el tipo de datos time_t de 32 bits en 2038. Se agregaron cambios similares, que movieron el desbordamiento del contador de tiempo al año 2468, al código para calcular los tiempos de cuota de disco. El formato XFS V4 se declara obsoleto, se recomienda al usuario actualizar el FS al formato V5, pero hay tiempo más que suficiente para la actualización, ya que el soporte V4 se mantendrá hasta 2030. XFS también ha cambiado el tamaño de la entrada de inodo btree, lo que permite más comprobaciones de redundancia y tiempos de montaje más rápidos.

Para el subsistema FUSE implementado el soporte de operaciones DAX para acceder directamente al sistema de archivos, eludiendo la caché de la página sin dispositivo de bloqueo a nivel de aplicación que se utiliza para evitar el doble caché virtiofs la organización del acceso conjunto a los sistemas invitados, directorios y archivos. Virtiofs también agrega soporte para el montaje separado de particiones con diferentes puntos de montaje en el sistema host.

El sistema de archivos F2FS agrega un nuevo modo de recolección de basura ATGC (Recolección de basura por umbral de edad), soporte mejorado para dispositivos NVMe por zonas y mayor velocidad de descompresión de datos comprimidos.

En F2FS y Ext4, se ha rediseñado el modo de trabajar con nombres de archivo sin tener en cuenta las mayúsculas; se ha decidido unificar la implementación de los nombres de archivo que no distinguen entre mayúsculas y minúsculas moviendo el código asociado a una biblioteca común.

Otro cambio importante, es en la interfaz de E/S asincrónica io_uring que agrega la capacidad de crear anillos restringidos que se pueden compartir de manera segura con un proceso que no es de confianza. Esta característica permite que la aplicación base restrinja selectivamente el acceso solo a sus descriptores de archivos individuales para su uso en aplicaciones de terceros a través de io_uring, además de que se agregó el indicador PIDFD_NONBLOCK a la llamada al sistema pidfd_open() para crear un descriptor de archivo sin bloqueo (análogo a O_NONBLOCK para pidfd).

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.