Compute Express Link 2.0 Support Sent In For Linux 5.12, Enabling CXL 2.0 Memory Devices
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.
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.
Add A Comment