La propuesta para Linux 7.5 añade una ruta AVX-512 para ChaCha que puede procesar hasta 16 bloques por llamada, frente a los ocho de la ruta anterior. Phoronix informó el 9 de noviembre de 2026 que el parche de Martin Willi estaba encolado en la rama libcrypto-next y que se esperaba enviarlo para la ventana de integración de Linux 7.5. Sus resultados de hasta un 99 % en Zen 5 corresponden a una prueba concreta del cifrador, no a una mejora general del procesador o de las aplicaciones. (Phoronix)
Qué cambia en la ruta propuesta
ChaCha es un cifrador de flujo simétrico. La ruta anterior procesaba hasta ocho bloques a la vez con registros de 256 bits, llamados ymm. La propuesta añade una función que usa registros zmm de 512 bits y puede trabajar con hasta 16 bloques por llamada.
Según la descripción del parche, la nueva ruta se elegiría para entradas de más de ocho bloques y estaría sujeta a las condiciones de despacho de avx512vl y X86_FEATURE_PREFER_YMM. La ruta de 256 bits tenía una razón concreta: Martin Willi explicó que el uso de instrucciones zmm provocaba una fuerte reducción de frecuencia en Skylake-X. (Phoronix)
El máximo del 99 % describe el rendimiento de ChaCha en una prueba concreta; por sí solo no predice el rendimiento de una aplicación o un túnel VPN.
Qué midieron las pruebas de Zen 5 y Zen 4
Phoronix informó una mejora de hasta el 99 % en un AMD Ryzen AI Max Strix Halo con Zen 5 usando la ruta completa de 512 bits. Para Zen 4, informó hasta un 39 % con una ruta de 256 bits. Son resultados de pruebas de ChaCha y corresponden a esos escenarios concretos. (Phoronix)
En un mensaje separado, fechado el 25 de octubre de 2026, Antonio Quartulli comunicó una medición de chacha_crypt() en un Ryzen 9 9950X: alrededor de 5,2 GB/s antes y 10,2 GB/s después, con entradas de 1 KiB o más. A partir de esos valores redondeados, la diferencia equivale a un aumento aproximado del 96 %. Es una medición distinta de la que Phoronix atribuyó al Ryzen AI Max Strix Halo. (Mensaje de Antonio Quartulli en la lista de correo del kernel)
Por tanto, el 99 % no se puede trasladar sin más a Linux en general, a los juegos ni al rendimiento total de WireGuard. Esa cifra corresponde a ChaCha; el resultado de una aplicación o un túnel depende de la carga completa.
Las cifras de OpenVPN y las pruebas propuestas
Quartulli también informó de una prueba en una máquina virtual vinculada a su trabajo sobre la descarga del canal de datos de OpenVPN. En ella, comunicó aumentos de throughput de ChaCha20-Poly1305 de aproximadamente un 10 % con un MTU de 1.500 bytes y un 35 % con uno de 9.000 bytes. Su mensaje no atribuye esos resultados a la implementación final de Willi. (Mensaje de Antonio Quartulli en la lista de correo del kernel)
En la misma conversación, Quartulli describió una propuesta independiente de pruebas y benchmarks con KUnit, el marco de pruebas unitarias del kernel. Incluía comparar chacha_crypt() con chacha_block_generic(), probar longitudes de hasta 4.100 bytes y longitudes aleatorias de hasta 12 KiB, usar páginas de guarda y comprobar llamadas sobre el mismo búfer y llamadas divididas. También incluía el vector de prueba RFC 7539. Quartulli dijo que retiraba su parche de implementación duplicado en favor del enfoque de Willi y pidió que se considerase por separado el parche de pruebas. (Mensaje de Antonio Quartulli en la lista de correo del kernel)