Linux 5.18 llega con limpieza de codigo obsoleto, mejoras y mas
Después de dos meses de desarrollo, Linus Torvalds dio a conocer el lanzamiento del kernel Linux 5.18 versión en la cual entre los cambios más notables se llevó a cabo una gran limpieza de la funcionalidad obsoleta, el sistema de archivos Reiserfs se declaró obsoleto, se implementaron eventos de seguimiento de procesos de usuario, se agregó soporte para el mecanismo de bloqueo de vulnerabilidades Intel IBT, entre otras cosas mas.
La nueva versión recibió 16206 correcciones de 2127 desarrolladores (la última versión tuvo 14203 correcciones de 1995 desarrolladores), el tamaño del parche es de 108 MB (los cambios afectaron a 14235 archivos, se agregaron 1340982 líneas de código, se eliminaron 593836 líneas).
Principales novedades en Linux 5.18
En esta nueva version, el sistema de archivos Btrfs ha agregado soporte para reenviar datos comprimidos al realizar operaciones de envío y recepción. Anteriormente, cuando se usaba enviar/recibir, el lado emisor descomprimía los datos almacenados en forma comprimida y el lado receptor los volvía a comprimir antes de escribir.
En el kernel 5.18, las aplicaciones de espacio de usuario que usan llamadas de envío/recepción tienen la capacidad de transferir datos comprimidos sin volver a empaquetar. La funcionalidad se implementa gracias a las nuevas operaciones ioctl BTRFS_IOC_ENCODED_READ y BTRFS_IOC_ENCODED_WRITE, que le permiten leer y escribir información directamente en extensiones.
El modo de E/S directa proporciona acceso a archivos cifrados cuando fscrypt utiliza cifrado en línea, en el que las operaciones de cifrado y descifrado las realiza el controlador de la unidad, no el kernel. Con el cifrado de kernel convencional, el acceso a los archivos cifrados mediante E/S directa sigue siendo imposible, ya que se accede a los archivos sin pasar por el mecanismo de almacenamiento en búfer del kernel.
El sistema de archivos ReiserFS ha quedado obsoleto y se espera que se elimine en 2025. La desaprobación de ReiserFS reducirá el esfuerzo necesario para mantener los cambios comunes en el sistema de archivos para admitir las nuevas API de montaje, iomap y tomo.
Para el sistema de archivos F2FS, se implementa la posibilidad de asignar ID de usuario de sistemas de archivos montados, que se utiliza para hacer coincidir los archivos de un determinado usuario en una partición externa montada con otro usuario en el sistema actual.
Se ha rediseñado el código para calcular estadísticas en los controladores de Device-mapper, lo que ha mejorado significativamente la precisión de la contabilidad en controladores como dm-crypt.
Para dispositivos NVMe, se ha implementado compatibilidad con sumas de verificación de 64 bits para verificaciones de integridad.
Se ha propuesto una nueva opción de montaje «keep_last_dots» para el sistema de archivos exfat, que evita que se borren los puntos al final del nombre de archivo (en Windows, los puntos al final del nombre de archivo se eliminan de manera predeterminada).
EXT4 mejora el rendimiento del modo fast_commit y aumenta la escalabilidad. La opción de montaje «mb_optimize_scan», que mejora el rendimiento en condiciones de gran fragmentación del sistema de archivos, se ha adaptado para trabajar con archivos con extensiones.
Ademas de ello, se ha comenzado la integración de un conjunto de parches, que pueden reducir significativamente el tiempo de reconstrucción del núcleo al reestructurar la jerarquía de los archivos de encabezado y reducir la cantidad de dependencias cruzadas. El kernel 5.18 incluye parches que optimizan la estructura de los archivos de encabezado del programador de tareas (kernel/sched). En comparación con la última versión, el consumo de tiempo de la CPU para crear kernel/programación/código se ha reducido en un 61 % y el tiempo real se ha reducido en un 3,9 % (de 2,95 a 2,84 segundos).
Por otra parte, tambien se destacan las herramientas extendidas para rastrear aplicaciones en el espacio del usuario. La nueva versión del kernel agrega la capacidad para que los procesos de usuario creen eventos de usuario y escriban datos en el búfer de seguimiento, que se puede ver a través de las utilidades de seguimiento del kernel comunes, como ftrace y perf. Los eventos de seguimiento del espacio de usuario están aislados de los eventos de seguimiento del núcleo.
Se eliminó la compatibilidad con los procesadores ARM más antiguos (ARMv4 y ARMv5) que no tienen una unidad de administración de memoria (MMU). Se ha conservado la compatibilidad con los sistemas ARMv7-M sin una MMU.
En el subsistema eBPF, el mecanismo BTF (formato de tipo BPF), que proporciona información para la verificación de tipos en pseudocódigo BPF, implementa la capacidad de agregar anotaciones a variables que se refieren a áreas de memoria del espacio de usuario. Las anotaciones ayudan al sistema de verificación de código BPF a identificar y verificar mejor los accesos a la memoria.
Para la arquitectura x86, se ha agregado soporte para el mecanismo de protección de flujo de comando Intel IBT, que evita el uso de técnicas de construcción de exploits utilizando técnicas de programación orientada al retorno (ROP)., programación orientada al retorno), en el que el exploit se forma en forma de una cadena de llamadas a piezas de instrucciones de la máquina que ya están en la memoria, terminando con una instrucción de retorno de control (por regla general, estos son el final de las funciones).
El controlador amdgpu tiene la tecnología de sincronización adaptativa FreeSync habilitada de forma predeterminada, que le permite ajustar la frecuencia de actualización de la información en la pantalla, lo que garantiza imágenes fluidas y sin interrupciones cuando juega y mira videos. Soporte GPU Aldebaran anunciado como estable.
El controlador nouveau proporciona soporte para velocidades de bits más altas para interfaces DP/eDP y soporte para extensiones de cable ltprs (repetidores PHY ajustables de entrenamiento de enlace).
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.