To online or not to online CXL memory
summary
Kernel currently requires per-block sysfs writes to change CXL memory type, forcing hundreds-to-thousands of writes (e.g. 640+ blocks) with per-write error handling and costly rollbacks, which makes sysfs per-block writes unreliable. Userspace tools like daxctl race with udev rules and can daxctl waits forever when a block is stuck. Practical alternatives: add a region-level convert API, default CXL add-memory to zone movable in the driver, and treat high-latency CXL (≈1.6x latency, ≈0.1x bandwidth) as special-purpose rather than general system RAM.
AI-written summary · about
chapters (11)
- 0:00Introduction to CXL memory
- 1:45Current CXL memory block interface
- 5:22Auto movable memory policy issues
- 7:28Discussion on memory region groups
- 10:20Proposed new interfaces for CXL
- 15:56CXL memory performance considerations
- 16:59Two classes of CXL memory
- 21:53Online CXL memory for general use
- 23:40Zone movable vs system RAM trade-offs
- 26:08Special cases for VMs and partitions
- 28:17Q&A and closing remarks
