New AVX/AVX2 Crypto Code For The Linux Kernel
A set of Intel developers have worked out a new set of AVX and AVX2 routines for the Linux kernel to enhance additional crypto functionality for better performance.
While we've already seen many AVX/AVX2 Linux kernel patches in recent months out of Intel's Open-Source Technology Center, there's still more ahead. The latest patches were published on Wednesday and provide an AVX and AVX2 version of AESNI-GCM encode/decode. Writing the specific code for the Advanced Vector Extensiuons is worthwhile as the reported performance gains can be nearly a 20% speed-up and the beenefits will be even greater on the upcoming Intel Broadwell processors.
Tim Chen of Intel wrote on the kernel mailing list when publishing the patches, "We have added AVX and AVX2 routines that optimize AESNI-GCM encode/decode. These routines are optimized for encrypt and decrypt of large buffers. In tests we have seen up to 6% speedup for 1K, 11% speedup for 2K and 18% speedup for 8K buffer over the existing SSE version. These routines should provide even better speedup for future Intel x86_64 cpus."
AVX was added to Intel processors with Sandy Bridge and premiered on the AMD side with Bulldozer. Meanwhile, AVX2, the second iteration of Advanced Vector Extensions, came this year with Haswell. These latest AES-NI AVX performance improvements will hopefully land into the Linux 3.14 kernel for the never ending process of optimizing and tuning the Linux kernel's performance.