Después de dos meses de desarrollo, Linus Torvalds ha lanzado el kernel de Linux 5.15 y de los cambios notables se incluyen un nuevo controlador NTFS con soporte de escritura, módulo ksmbd con implementación de servidor SMB, subsistema DAMON para monitorear el acceso a la memoria, primitivas de bloqueo para el modo en tiempo real, soporte fs-verity en Btrfs y más.
La nueva versión recibió 13,499 correcciones de 1,888 desarrolladores, el tamaño del parche es de 42 MB (los cambios afectaron a 10,895 archivos, se agregaron 632,522 líneas de código, se eliminaron 299,966 líneas).
Principales novedades de Linux 5.15
En esta nueva versión el kernel adoptó una nueva implementación del sistema de archivos NTFS, por Paragon Software. El nuevo controlador puede funcionar en modo de escritura y es compatible con todas las características de la versión actual de NTFS 3.1, incluidos atributos de archivo extendidos, listas de acceso (ACL), modo de compresión de datos, trabajo eficiente con vacíos en archivos (dispersos) y reproducción de cambios desde el registro para restaurar la integridad después de fallas.
El sistema de archivos Btrfs admite el mecanismo fs-verity, que se utiliza para controlar de forma transparente la integridad y autenticidad de archivos individuales mediante hashes o claves criptográficas almacenadas en el área de metadatos asociada con los archivos. Anteriormente, fs-verity solo estaba disponible para FS Ext4 y F2fs.
Btrfs también agrega soporte para mapear ID de usuario para sistemas de archivos montados (anteriormente admitido para sistemas de archivos FAT, ext4 y XFS). Esta función le permite asociar archivos de un determinado usuario en una partición externa montada con otro usuario en el sistema actual.
Otros cambios en Btrfs incluyen: acelerar la adición de claves al índice de directorio para mejorar el rendimiento de creación de archivos; la capacidad de trabajar raid0 con un dispositivo y raid10 con dos (por ejemplo, en el proceso de reconfiguración de una matriz); opción «rescue=ibadroots» para ignorar un árbol de extensión no válido; aceleración de la operación «enviar»; reducir los conflictos de bloqueo durante las operaciones de cambio de nombre; la capacidad de utilizar sectores de 4K en sistemas con un tamaño de página de memoria de 64K.
En EXT4, se ha trabajado para aumentar el rendimiento de la escritura de búferes delalloc y el procesamiento de archivos huérfanos (huérfanos) que continúan existiendo debido al hecho de que permanecen abiertos, pero que resultaron no estar vinculados a un directorio.
Otro de los cambios que se destaca es que se agregó protección contra condiciones de carrera ocultas que podrían conducir a la corrupción de archivos al leer desde la caché mientras se manejan vacíos en un archivo, ademas de que se eliminó el soporte para bloqueos de archivos obligatorios implementados al bloquear las llamadas al sistema que conducen a cambios en los archivos. Debido a las posibles condiciones de carrera, estos candados se consideraron poco confiables y se desaprobaron hace muchos años.
Y tambien se eliminó el subsistema LightNVM, que permitía el acceso directo a la unidad SSD, sin pasar por la capa de emulación. LightNVM perdió su significado después de la aparición de los estándares NVMe que brindan la posibilidad de zonificación (ZNS, Zoned Namespace).
Por otra parte sed estaca que se agregó soporte para la programación asimétrica de la asignación de tareas a los núcleos del procesador en arquitecturas en las que algunas CPU permiten tareas de 32 bits y algunas solo se ejecutan en modo de 64 bits (por ejemplo, ARM). El nuevo modo permite que solo se consideren las CPU que admiten tareas de 32 bits al programar tareas de 32 bits.
Para la arquitectura ARC, se implementó el soporte para tablas de páginas de memoria de tres y cuatro niveles, lo que permitirá aún más el soporte para procesadores ARC de 64 bits.
Por la parte de los controladores podremos encontrar que el controlador amdgpu es compatible con las APU Cyan Skillfish (equipadas con GPU Navi 1x). Se implementó el soporte de códec de video para APU Yellow Carp, soporte mejorado de GPU Aldebaran, se agregaron nuevos ID de mapa basados en GPU Navi 24 «Beige Goby» y RDNA2, se propone una implementación mejorada de pantallas virtuales (VKMS) y se agregó soporte para monitorear la temperatura de los chips AMD Zen 3.
El controlador amdkfd (para GPU discretas como Polaris) implementa un administrador de memoria virtual compartida (SVM) basado en el subsistema de administración de memoria heterogénea (HMM), que permite utilizar dispositivos con sus propias unidades de administración de memoria (MMU), que pueden acceder la memoria principal. Incluso con la ayuda de HMM, puede organizar un espacio de direcciones conjunto entre la GPU y la CPU, en el que la GPU puede acceder a la memoria principal del proceso.
El controlador i915 para gráficos Intel amplía el uso del administrador de memoria de video TTM e incluye la capacidad de administrar el consumo de energía basado en GuC (microcontrolador de gráficos). Han comenzado los preparativos para implementar el soporte para Intel ARC Alchemist Graphics y las GPU Intel Xe-HP.
De los demás cambios que se destacan:
- El controlador nouveau implementa el control de retroiluminación del panel eDP mediante DPCD (Datos de configuración de DisplayPort).
- Se agregó soporte para las GPU Adreno 7c Gen 3 y Adreno 680 en el controlador msm.
- Se implementó la capacidad de construir núcleos para la arquitectura ARM64 en forma de clientes para el hipervisor Hyper-V.
- Se agregó el controlador Virtio para el bus I2C, que permite emular controladores I2C en modo de paravirtualización utilizando backends separados.
- Se agregó el controlador gpio-virtio Virtio para permitir que los sistemas invitados accedan a las líneas GPIO proporcionadas por el sistema host.
- El hipervisor KVM implementa la capacidad de mostrar estadísticas en forma de histogramas lineales y logarítmicos.
- El controlador de enlace, utilizado para agregar interfaces de red, agrega soporte para el subsistema XDP (eXpress Data Path), que le permite manipular paquetes de red en una etapa antes de que sean procesados por la pila de red del kernel de Linux.
- La pila inalámbrica mac80211 admite 6GHZ STA (Autorización temporal especial) en los modos LPI, SP y VLP, así como la capacidad de configurar TWT (Target Wake Time) por separado en el modo de punto de acceso.
- Netfilter agrega controladores para flujos de red encapsulados en SRv6 (Segment Routing IPv6).
- Se agregó compatibilidad con sockmap para sockets de transmisión Unix.
- El controlador IOMMU está implementado para el chip Apple M1.
- Controlador de sonido agregado para sistemas basados en APU AMD Van Gogh.
- El controlador Realtek R8188EU se ha agregado a la rama de preparación, que reemplazó al controlador anterior (rtl8188eu) para los chips inalámbricos Realtek RTL8188EU 802.11 b/g/n.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.