POWER Brings Memory Protection Keys, OCXL OpenCAPI Driver To Linux 4.16
The POWER architecture code updates were sent in this Friday for the Linux 4.16 kernel and brings a few goodies if you happen to be using any modern PPC hardware.
First up for POWER in Linux 4.16 is support for Memory Protection Keys "pkeys" on POWER 7/8/9 generations with the MMU hash table. This comes after Intel plumbed in memory protection key support for their hardware in the late Linux 4.x kernel releases.
The PowerPC memory protection keys allows for enforcing page-based protections. The PowerPC pkey patches explained, "A process allocates a key and associates it with an address range within its address space. The process then can dynamically set read/write permissions on the key without involving the kernel. Any code that violates the permission of the address space; as defined by its associated key, will receive a segmentation fault."
Another notable addition is the OCXL driver for supporting the Open Coherent Accelerator Processor Interface, OCAPI. OCXL / Open Coherent Accelerators allows for FPGA accelerators to be coherently connected to a CPU through an Open CAPI link. User-space programs can then access the accelerators via /dev/ocxl/. Current generation OpenCAPI 3 uses a Bluelink 25G I/O that's shared by the NVLink 2.0 interface. Besides IBM being involved with this, AMD, Google, NVIDIA, and others have interest in OpenCAPI for an external accelerator interface for GPUs, ASICs, FPGAs, and more. Additional information on OpenCAPI is available from OpenCAPI.org.
The complete list of POWER changes for the Linux 4.16 merge window can be found via this pull request.
First up for POWER in Linux 4.16 is support for Memory Protection Keys "pkeys" on POWER 7/8/9 generations with the MMU hash table. This comes after Intel plumbed in memory protection key support for their hardware in the late Linux 4.x kernel releases.
The PowerPC memory protection keys allows for enforcing page-based protections. The PowerPC pkey patches explained, "A process allocates a key and associates it with an address range within its address space. The process then can dynamically set read/write permissions on the key without involving the kernel. Any code that violates the permission of the address space; as defined by its associated key, will receive a segmentation fault."
Another notable addition is the OCXL driver for supporting the Open Coherent Accelerator Processor Interface, OCAPI. OCXL / Open Coherent Accelerators allows for FPGA accelerators to be coherently connected to a CPU through an Open CAPI link. User-space programs can then access the accelerators via /dev/ocxl/. Current generation OpenCAPI 3 uses a Bluelink 25G I/O that's shared by the NVLink 2.0 interface. Besides IBM being involved with this, AMD, Google, NVIDIA, and others have interest in OpenCAPI for an external accelerator interface for GPUs, ASICs, FPGAs, and more. Additional information on OpenCAPI is available from OpenCAPI.org.
The complete list of POWER changes for the Linux 4.16 merge window can be found via this pull request.
Add A Comment