Intel Preparing IAA Crypto Compression Driver - Kernel Crypto API Use For Accelerators

Written by Michael Larabel in Intel on 7 March 2023 at 08:24 AM EST. 5 Comments
INTEL
In addition to Intel's Linux patches in recent days working on broad performance optimizations that can benefit all hardware there has also been some Intel-specific kernel improvements being worked on like the Sapphire Rapids C0.2 idle state support that was published for review on Monday. Also coming out from the covers on Monday was a new patch series for the "iaa_crypto" driver to improve the Linux support for Intel's In-Memory
Analytics Accelerator found with their 4th Gen Xeon Scalable "Sapphire Rapids" processors.

While the Intel In-Memory Analytics Accelerators are already supported under Linux, to date they've just been available for user-space software use that is adapted to make use of the Intel accelerator interface. So far the selection of software able to make use of IAA and the other shiny new accelerators with Sapphire Rapids has been quite limited. I go over the general setup process and some of the available accelerator software in my prior article Setting Up Intel 4th Gen Xeon Scalable "Sapphire Rapids" For Accelerator Use.

With this new "iaa_crypto" driver it's interesting as it now sets up the Linux kernel for IAA use. In particular, it can make the In-Memory Analytics Accelerators available for "transparent" use by kernel features making use of the kernel's crypto API such as for Zswap and zRAM use.

The 16 patches posted on Monday include both sync and async mades for the deflate algorithm that is supported by current Sapphire Rapids IAA accelerators.


While this allows some Linux kernel code to make transparent use of the IAA engines via the kernel crypto API, it isn't a seamless experience. To make use of it, accel-config setup or manually poking via the sysfs interface is still required from user-space for setting up the accelerator configuration before this iaa_crypto kernel driver can enjoy the accelerator speeds. The iaa_crypto driver also allows some additional tuning knobs for the IAA accelerator use by the kernel.

The Intel-provided numbers are showing big compression and decompression wins for this iaa_crypto kernel use:

IAA crypto performance


These iaa_crypto patches are very promising for accelerator Linux kernel use with IAA and will be interesting to see when this work is ready for merging into the mainline Linux kernel and some of the talked about improvements in the patch cover letter manage to materialize.
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