Linux 6.4 llega con mejoras de soporte para Wifi 7, Apple M2 y mas
La nueva versión del Kernel de Linux 6.4 ya está disponible después de un ciclo de desarrollo bastante fluido y que incluye una gran cantidad de novedades de las cuales podemos destacar el soporte para la hibernación del procesador RISC-V, soporte inicial para los procesadores M2 de Apple, eliminación gradual del soporte para tarjetas PCMCIA, soporte mejorado para Compute Express Link y el procesador chino LoongArch, mejor soporte para Wi-Fi 7, entre otros.
Si bien Linux 6.4 no es un lanzamiento grande o importante, cabe destacar que incluye algunas novedades bastante interesantes, ademas de las mejoras de compatibilidad de hardware.
Principales novedades de Linux 6.4
Linux 6.4 íntegra soporte para iteradores genéricos a BPF para facilitar la creación de bucles en programas BPF utilizando el patrón de bucle de los pasos «start iteration», «go to next element» y «end iteration»
BPF también implementa el llenado en el modo de rotación del búfer con un registro de problemas detectados por el verificador de código BPF, es decir ahora, si los datos no caben en el búfer, las últimas entradas se guardan en el registro, no las iniciales.
Otro de los cambios que se destaca del Kernel de Linux es el soporte inicial para M2 SoC de Apple, con el cual se agregaron los archivos DeviceTree para los sistemas actuales MacBook Air, Pro y Mac Mini .Aunque la compatibilidad es similar a Apple M1, se menciona que aún hay varios problemas de compatibilidad por resolver.
Ademas de ello, la interfaz de E/S asíncrona io_uring agregó la capacidad de escribir simultáneamente directamente en un archivo en varios subprocesos (compatible con ext4 y XFS), tambien se ha agregado una opción de «multishot» a io_uring para generar tiempos de espera repetidamente sin tener que restablecer el temporizador en el medio.
Por otra parte, tambien se destaca el código para el «Modo Autónomo Guiado AMD P-State» lo que sugiere que el kernel de Linux se está acercando a las mejoras de rendimiento y eficiencia energética para los procesadores AMD EPYC y AMD Ryzen.
Se agregó la capacidad de almacenar punteros kptr en mapas hash vinculados a la CPU, mapas hash LRU y tipos de mapas locales (sk, cgrp, task, inode). Uso mejorado de tipos kptr con buffers de paquetes y XDP. La función bpf_timer_start() permite especificar valores de tiempo absolutos.
Se agregaron nuevas operaciones PTRACE_GET_SYSCALL_USER_DISPATCH y PTRACE_SET_SYSCALL_USER_DISPATCH al mecanismo ptrace, lo que permite que un proceso controle la configuración de envío de llamadas del sistema en otro proceso, que se usará en el kit de herramientas CRIU , diseñado para guardar y restaurar el estado de los procesos en el espacio del usuario.
Se ha agregado un nuevo sistema de archivos virtual /sys/kernel/tracing/touched_functions para definir todas las funciones del kernel disponibles para rastrear y adjuntar programas BPF, ademas de que se agregó soporte para el mecanismo de detección y corrección de errores EDAC (Error Detection And Correction) en servidores basados en procesadores Intel Sierra Forest.
Para la arquitectura S390, se implementa el soporte para el complemento STACKLEAK GCC, que proporciona la inicialización de todas las variables almacenadas en la pila para evitar la fuga de información del kernel a través de variables no inicializadas que pueden contener restos de datos previamente almacenados en la pila.
De los demás cambios que se destacan:
- Se agregaron nuevos indicadores a la llamada del sistema userfaultfd(), que permite crear controladores para acceder a páginas de memoria no asignadas (fallas de página) en el espacio del usuario.
- La compatibilidad con Wi-Fi 7 también se ha mejorado considerablemente.
- RISC-V también agrega soporte para la extensión Svnapot, que le permite vincular grupos de páginas de memoria 4K para crear páginas de memoria más grandes.
- Se ha trabajado para eliminar la macro MODULE_LICENSE() del código que no se puede compilar como un módulo del núcleo.
- Se ha agregado compatibilidad con el modo autónomo guiado al controlador amd-pstate, en el que la frecuencia del procesador se selecciona automáticamente, pero no puede ir más allá del rango especificado.
- Se corrigió una regresión en el Programador de tareas que causaba una degradación del rendimiento en sistemas PostgreSQL altamente cargados en los kernels 6.2 y 6.3.
- El controlador i915 (Intel) continúa siendo compatible con las GPU Meteor Lake.
- Se han realizado cambios en el controlador AMDGPU para la administración de energía en sistemas basados en APU AMD Van Gogh.
- Se agregó el controlador QAIC para la tarjeta PCIe Qualcomm Cloud AI 100 (AIC100) con acelerador de aprendizaje automático.
- Se agregó soporte para monitorear el estado de los sensores de temperatura a través de la API hwmon para aproximadamente 100 modelos de placas ASUS.
Se agregó soporte para WiFi 7 en el controlador MediaTek MT76.
Finalmente si estás interesado en poder conocer más al respecto de este lanzamiento, puedes consultar los detalles en el siguiente enlace.