Description
Compute Express Link is a cache coherent fabric that in recent years has been gaining momentum in the industry. CXL 3.0 launched just before Plumbers 2022 (where very early discussions were had), bringing new challenges such as dynamic capacity devices and large scale fabrics, two features that bring significant challenges to Linux. There has also been controversy and confusion in the Linux kernel community about the state and future of CXL, regarding its usage and integration into, for example, the core memory management subsystem. Many concerns have been put to rest through proper clarification and setting of expectations.
CXL continues to be a fast evolving standard, with upstream kernel and tooling support often running ahead of mass availability of hardware.
From the early days of CXL, QEMU has been used for CXL system emulation. The emulated feature set continues to expand to support more advanced features, with a steadily growing group of contributors, many of whom contributed to the discussions last...
CXL 3.0 Dynamic capacity is an exciting feature that enables flexible memory pooling across multiple hosts, facilitating dynamic addition and removal of memory allocated to each host from the common pool of memory.
The previous session (Plumbers CXL Uconf 2022) covered the introduction and general use cases of the DCD and served to bring together those interested in the feature.
Initial...
CXL-aware job schedulers, memory managers, and userspace tiering solutions depend on page migration syscalls to reallocate resources across nodes. Currently, these calls enable movement of memory associated with a specific PID. Moves can be requested in coarse, process-sized strokes (as with migrate_pages
), and on specific virtual pages (via move_pages
). However, a number of profiling...