How to enable NX GZIP support in Red Hat Enterprise Linux 8
Environment
- Red Hat Enterprise Linux 8 and above
- PowerPC architecture
Issue
- How do I enable NX GZIP acceleration in Red Hat Enterprise Linux 8?
- The nx-crypto kernel module is missing Red Hat Enterprise Linux 8
Resolution
- For physical systems running on Power 9, make sure the kernel is updated to at least
kernel-4.18.0-240.el8
or above as per errata RHSA-2020:4431 - For Red Hat Enterprise Linux 8 virtual machines hosted on PowerPC 0 via PowerVM, please follow this knowledge-base article or engage your respective Red Hat support representative for updates on a private bugzilla report tracking the progress of this feature inclusion.
Root Cause
- Access to IBM Nest Acceleration (NX) cryptography was reworked between Red Hat Enterprise Linux 7 and 8 in an effort to take advantage of Power9's new Virtual Accelerator Switchboard (VAS).
- NX engines, which provide cryptographic capabilities and decompression/compression capabilities within the CPU itself, has been in Power processors since Power7+, but access to the NX engines was through the
icswx
instruction which is only available to the kernel/hypervisor. This means cryptographic and compression/decompression accelerations provided via NX was still limited in performance by context switching from userspace to kernelspace. - Starting with Power9, access to the NX engines is provided to both kernel and user space processes directly through VAS. In Red Hat Enterprise Linux 7 and below, access to the NX accelerators were handled via a variety of kernel modules such as
nx-crypto
via theicswx
instruction. -
For more information on VAS and the Linux patches in question, please refer to the following external links;
- Disclaimer: Links contained herein to external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or their entities, products or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.
- LWN: Enable VAS
- Virtual Accelerator Switchboard (VAS) userspace API
- LWN: crypto/nx: Enable GZIP engine and provide userpace API
- Kernel.org crypto/nx: Enable GZIP engine and provide userpace API
- Exploitation of In-Core Acceleration of POWER Processors for AIX
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments