Ya fue liberada la nueva versión de Linux 5.17 y estos son sus cambios mas importantes
Después de dos meses de desarrollo, Linus Torvalds dio a conocer hace pocos dias el lanzamiento de la nueva versión del kernel Linux 5.17.
Entre los cambios más notables se destaca un nuevo sistema de gestión del rendimiento para los procesadores AMD, soporte para programas BPF portátiles compilados, la transición del generador de números pseudoaleatorios al algoritmo BLAKE2s, el nuevo backend fscache para almacenar en caché sistemas de archivos de red, entre otras cosas más.
La nueva versión recibió 14203 correcciones de los desarrolladores de 1995, el tamaño del parche es de 37 MB (los cambios afectaron a 11366 archivos, se agregaron 506043 líneas de código, se eliminaron 250954 líneas).
Principales novedades del Kernel de Linux 5.17
En esta nueva versión se implementa la posibilidad de mapeo anidado de ID de usuario de sistemas de archivos montados, que se utiliza para mapear archivos de un determinado usuario en una partición externa montada con otro usuario en el sistema actual . La función añadida le permite utilizar la asignación de forma recursiva sobre los sistemas de archivos para los que ya se ha aplicado la asignación.
El subsistema fscache se ha reescrito por completo. La nueva implementación se distingue por una simplificación significativa del código y el reemplazo de operaciones complicadas de programación y seguimiento del estado de los objetos con mecanismos más simples. La compatibilidad con el nuevo fscache se implementa en el sistema de archivos CIFS.
Btrfs se optimizó para operaciones de registro y fsync para directorios grandes, implementado copiando solo claves de índice y reduciendo la cantidad de metadatos registrados, ademas de que se ha proporcionado compatibilidad con la indexación y la búsqueda por el tamaño de los registros de espacio libre, lo que ha reducido la latencia y el tiempo de búsqueda en aproximadamente un 30 %, lo que permitido interrumpir las operaciones de desfragmentación.
Ext4 se migró a una nueva API de montaje que separa las etapas de analizar las opciones de montaje y configurar el superbloque, ademas de que se eliminó la compatibilidad con las opciones de montaje lazytime y nolazytime, que se agregaron como un cambio temporal para facilitar la transición de util-linux para usar el indicador MS_LAZYTIME y se agregó soporte para configurar y leer etiquetas en el FS (ioctl FS_IOC_GETFSLABEL y FS_IOC_SETFSLABEL).
El controlador amd-pstate se ha agregado para proporcionar un control de frecuencia dinámico para un rendimiento óptimo. El controlador es compatible con las nuevas CPU y APU de AMD, incluidos algunos chips de generación Zen 2 y Zen 3, y se desarrolló en colaboración con Valve para mejorar la eficiencia de la administración de energía. Para el cambio de frecuencia adaptable, se utiliza el mecanismo CPPC (Control de rendimiento del procesador colaborativo), que le permite cambiar los indicadores con mayor precisión (sin limitarse a tres niveles de rendimiento) y responder más rápidamente a los cambios de estado que los controladores de estado P basados en ACPI utilizados anteriormente. (Frecuencia CPU).
Por otra parte, se destaca que se propone una implementación actualizada del generador de números pseudoaleatorios RDRAND, que es responsable del funcionamiento de los dispositivos /dev/random y /dev/urandom, notable por la transición al uso de la función hash BLAKE2s en lugar de SHA1 para la mezcla de entropía operaciones. El cambio hizo posible aumentar la seguridad del generador de números pseudoaleatorios al deshacerse del problemático algoritmo SHA1 y eliminar la sobrescritura del vector de inicialización RNG. Dado que el algoritmo BLAKE2s está por delante de SHA1 en términos de rendimiento, su uso también tuvo un efecto positivo en el rendimiento.
Se agregó protección contra vulnerabilidades en los procesadores causadas por la ejecución especulativa de instrucciones después de operaciones de salto hacia adelante incondicionales. El problema surge del procesamiento preventivo de las instrucciones que siguen inmediatamente a la instrucción de salto en la memoria (SLS, Straight Line Speculation). Habilitar la seguridad requiere una compilación con la versión 12 de GCC, que actualmente se encuentra en pruebas.
El subsistema drm (Direct Rendering Manager) y el controlador i915 han agregado soporte para pantallas para mostrar información confidencial, por ejemplo, algunas computadoras portátiles están equipadas con pantallas con un modo de vista confidencial incorporado, lo que dificulta la visualización desde el exterior. Los cambios agregados permiten conectar controladores especializados para tales pantallas y controlar los modos de navegación privada mediante la configuración de propiedades en los controladores KMS regulares.
El controlador amdgpu incluye compatibilidad con la tecnología de depuración STB (Smart Trace Buffer) para todas las GPU de AMD que la admiten. STB facilita el análisis de fallas e identifica la fuente de los problemas al almacenar en un búfer especial información sobre las funciones realizadas antes de la última falla.
De los demás cambios que se destacan:
- El controlador i915 agrega soporte para chips Intel Raptor Lake S y habilita de forma predeterminada el soporte para gráficos Intel Alder Lake P.
- Los controladores fbcon/fbdev devolvieron la compatibilidad con el desplazamiento acelerado por hardware en la consola.
- Integración continua de cambios para admitir chips Apple M1.
- Se implementó la capacidad de usar el controlador simpledrm en sistemas con un chip Apple M1 para generar salida a través del búfer de cuadros proporcionado por el firmware.
- manejador bpf_loop() en el subsistema eBPF, que proporciona una forma alternativa de organizar los bucles en los programas eBPF, más rápido y más fácil de verificar por el verificador.
Si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.