Faster CRC32C & AEGIS-128 Crypto Performance On Linux 6.13 With Intel/AMD CPUs

Written by Michael Larabel in Linux Kernel on 20 November 2024 at 06:34 AM EST. 2 Comments
LINUX KERNEL
The crypto subsystem updates were merged yesterday for the in-development Linux 6.13 kernel. Among other crypto improvements are new optimizations for some algorithms when running on Intel and AMD x86_64 processors.

Eric Biggers of Google is at it again with more Linux crypto performance optimizations. As noted last month he's been working on CRC32C throughput optimizations via optimizing the x86 Assembly code. That work can yield up to a few percent better performance on Intel/AMD processors, particularly when having Retpoline enabled. This work involves some jump table elimination, simplifying the code for handling fewer than 200 bytes, and other tweaks to the CRC32C x86 code.

Intel and AMD CPUs


The other optimizations from Eric Biggers to the crypto code for Linux 6.13 is tuning some of the AEGIS-128 x86 Assembly code. The AES-NI version of AEGIS-128 is cleaned up and the performance is 1~5% faster while the binary code size is around 20% smaller.

All in some nice performance optimization tuning within the crypto subsystem for Linux 6.13. ARM/ARM64 separately is also seeing CRCT10DIF optimizations and PowerPC is seeing AES-GCM optimizations.

The crypto pull also brings a new Broadcom BCM74110 RNG driver, support for the Airoha EN7581 TRNG, and STM32MP25x platform support.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week