Linux Can Now Natively Handle CXL Link Protocol Errors, Fixes For Next-Gen VH Topologies

Written by Michael Larabel in Hardware on 5 November 2023 at 06:10 AM EST. 2 Comments
HARDWARE
The Linux kernel's subsystem for Compute Express Link that is playing a vital role in servers moving forward continues picking up new features and evolving the code-base as more CXL hardware enters the world.

The CXL subsystem updates for the Linux 6.7 kernel have landed and include new features as well as fixes/improvements to existing CXL code. Dan Williams of Intel explained in the CXL pull for Linux 6.7:
"The main new functionality this time is work to allow Linux to natively handle CXL link protocol errors signalled via PCIe AER for current generation CXL platforms. This required some enlightenment of the PCIe AER core to workaround the fact that current generation RCH (Restricted CXL Host) platforms physically hide topology details and registers via a mechanism called RCRB (Root Complex Register Block). It has a minor conflict with the PCI updates you have already pulled this cycle, sample resolution below.

The next major highlight is reworks to address bugs in parsing region configurations for next generation VH (Virtual Host) topologies. The old broken algorithm is replaced with a simpler one that significantly increases the number of region configurations supported by Linux. This is again relevant for error handling so that forward and reverse address translation of memory errors can be carried out by Linux for memory regions instantiated by platform firmware.

As for other cross-tree work, the ACPI table parsing code has been refactored for reuse parsing the "CDAT" structure which is an ACPI-like data structure that is reported by CXL devices. That work is in preparation for v6.8 support for CXL QoS. Think of this as dynamic generation of NUMA node topology information generated by Linux rather than platform firmware.

Lastly, a number of internal object lifetime issues have been resolved along with misc. fixes and feature updates (decoders_committed sysfs ABI)."

While CXL is an industry-wide effort, Intel continues doing much of the software engineering work when it comes to enabling CXL functionality within the mainline Linux kernel. Kudos to Intel with all their ongoing upstream Linux kernel contributions.

CXL logo

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