Conversation
Edited 11 months ago
Today I learned:

CXL memory can be mapped as 'System RAM' or 'Soft Reserved' by platform firmware. Or it can be dynamically provisioned by (since v6.3) CXL region driver.

And 'Soft Reserved' or dynamically provisioned CXL RAM region can be used in two ways:

1. Applications mmap() to /dev/daxX.Y files, just like traditional persistent memory devices.
2. Kernel use it as System RAM via dax_kmem driver.

And a weird fact is that when dax_kmem onlines CXL (and other performance-differentiated like pmem) memory, to ZONE_NORMAL, not ZONE_MOVABLE.
2
0
1
Edited 11 months ago
Hmm I still don't get what's the point of accessing volatile CXL memory via mmap() to /dev/daxX.Y files.
0
0
0
Hmm both of ways seem to be very unstable for emulated CXL memory.
Crashes very easily when the memory is actually accessed by applications or the kernel.
0
0
0