Compute Express Link 2.0 Support Sent In For Linux 5.12, Enabling CXL 2.0 Memory Devices

Written by Michael Larabel in Hardware on 24 February 2021 at 10:36 AM EST. Add A Comment
Immediately following the publishing of the Linux enablement patches for CXL 2.0 and that continued in the months since over several rounds of patches. That initial CXL 2.0 code is now slated for mainlining with the Linux 5.12 kernel.

The initial Compute Express Link 2.0 focus for the Linux kernel has been on supporting Type-3 Memory Devices.
The CXL 2.0 type-3 memory device support being fleshed out first is for serving as a memory expander for RAM or persistent memory and can optionally be interleaved with other CXL devices.

For the lack of any CXL 2.0 hardware yet even within the confines of Intel, Widawsky worked out this initial enablement code thanks to writing up support around the specification within QEMU for emulation.

As for the initial state of this CXL 2.0 Type-3 Memory Device support seeking inclusion in Linux 5.12, "In terms of why merge this initial driver now, it establishes just enough functionality to enumerate these devices and issue all administrative commands. It sets a v5.12 baseline to develop the more complicated higher order functionality like memory device interleaving, persistent memory support, and hotplug which entangle with ACPI, LIBNVDIMM, and PCI. The focus of this release is establishing the ioctl UAPI for the management commands. Similar to NVME there are a set of standard commands as well as the possibility for vendor specific commands."

The initial CXL 2.0 pull request of this preliminary code was mailed out yesterday and is awaiting Linus Torvalds' action to pull it in during the ongoing Linux 5.12 merge window.

Besides Intel, Compute Express Link has broad industry adoption with the likes of Google, Microsoft, HPE, Cisco, Dell EMC, and many others -- including AMD -- backing the interconnect standard. It's still going to be a year or two before CXL 2.0 hardware is widely available so there still is plenty of time for getting the Linux support fully squared away.

For those interested in CXL, there is also this FOSDEM 2021 presentation by Ben from earlier this month that outlined how he carried out the CXL 2.0 bring-up by making use of QEMU for emulation and as the specification was still being settled.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of 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 automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week