Kernel 5.7: esto es en lo que se trabaja actualmente para esta versión
Linus Torvalds y su equipo de desarrollo no han parado sus esfuerzos por continuar con el desarrollo del Kernel de Linux a pesar de la problemática que sé está viviendo actualmente a nivel mundial por el Covid-19.
Y es que aun que sé está trabajando sobre las release candidante para la nueva versión del Kernel 5.6, también ya se trabaja sobre la próxima versión 5.7 que si todo sigue sobre la marcha lo veremos liberado durante esta primavera.
Mejoras para nftables
Y es que sobre esta nueva versión del Kernel de Linux 5.7 los desarrolladores del subsistema de filtrado y modificación de los paquetes de red Netfilter dieron a conocer mediante una publicación un conjunto de parches que aceleran significativamente el procesamiento de grandes conjuntos de nftables, que requieren verificar la combinación de subredes, puertos de red, protocolo y direcciones MAC.
Los parches ya se han aceptado en la rama nf-next, que se propondrá para su inclusión en el kernel de Linux 5.7. La aceleración más notable se logró mediante el uso de instrucciones AVX2 (en el futuro se planea publicar optimizaciones similares basadas en instrucciones NEON para ARM).
Las optimizaciones se introdujeron en el módulo nft_set_pipapo (PIle PAcket POlicies), que resuelve el problema de comparar el contenido del paquete con rangos de estado de campo arbitrarios utilizados en las reglas de filtrado, como IP y rangos de puertos de red (nft_set_rbtree y nft_set_hash manipulan la asignación de intervalos y la reflexión directa de los valores).
Vectorizada con instrucciones AVX2 de 256 bits, la versión de pipapo en un sistema con un procesador AMD Epyc 7402 mostró un aumento del rendimiento del 420% al analizar 30 mil registros que incluían paquetes de protocolo de puerto.
El aumento en la comparación de los paquetes de la subred y el número de puerto al analizar 1000 entradas fue del 87% para IPv4 y del 128% para IPv6.
Otra optimización, que permite el uso de grupos de mapeo de 8 bits en lugar de los de 4 bits, también mostró un aumento notable del rendimiento: 66% al analizar 30 mil entradas de protocolo de puerto, 43% – subred de puerto IPv4 y 61% – subred de puerto IPv6.
En total, teniendo en cuenta las optimizaciones de AVX2, el rendimiento de pipapo aumentó en estas pruebas en un 766%, 168% y 269%, respectivamente.
Las características obtenidas para comparaciones complejas están por delante de la verificación de campos individuales en rbtree (con la excepción de la prueba de enlace de puerto + protocolo), pero hasta ahora están rezagadas respecto de las verificaciones directas utilizando hashes y procesadores de caída basados en netdev.
Mejoras al arranque desde SSD NVMe
Otro de los cambios que acompañaran al Kernel de Linux 5.7 es una mejora para acelerar el arranque del sistema desde SSD NVMe. Eso es gracias al desarrollador de Intel Josh Triplett, quien señaló que el tiempo necesario para ver si una unidad de arranque nvme está lista para usar es de 100 ms. Como las SSD NVME suelen ser muy rápidas, Triplett cambió el tiempo de espera de 100 milisegundos a 1 ms.
Según el desarrollador, esto ganó aproximadamente 0.2 segundos en el tiempo de inicio. Aunque eso no significa una diferencia increíblemente grande, por supuesto es un principio de ‘cada bit cuenta’.
Además, esos 0.2 segundos pueden ser cruciales en algunas aplicaciones, como la configuración de máquinas virtuales o sistemas de cámara que necesitan estar listos para filmar casi de inmediato.
Controlador del sistema de archivos exFAT
Por último y no menos importante, otra de las novedades que podremos encontrar en Linux 5.7 es un nuevo controlador de sistema de archivos exFAT, que pasara a brindar un mayor soporte al controlador que actualmente está en el Kernel, ya que la versión actual es limitada porque se basa en un controlador antiguo.
El nuevo controlador que será incluido será en el que Samsung ha estado trabajando, haciendo posible trabajar con medios más grandes formateados usando el sistema de archivos exFAT. El nuevo controlador se conocerá como EXFAT_FS, pero el antiguo controlador provisional (CONFIG_STAGING_EXFAT_FS) aún no desaparecerá. Los dos pilotos inicialmente vivirán uno al lado del otro, pero este no será el caso para siempre.