HMM Anonymous Memory Migration In The Works For Linux
Heterogeneous Memory Management is a long in-development big kernel feature. "HMM serves as a kernel subsystem to provide an easy-to-use API for mirroring a process address on a device with minimal hardware requirements. Jerome explains, 'It intends to supersede [the ATS and PASID PCI-E] extensions by allowing to move system memory to device memory in a transparent fashion for core kernel [memory management] code (i.e. cpu page fault on page residing in device memory will trigger migration back to system memory).'"
HMM has gone through many revisions so far and still not accepted (or proposed for that matter) for the mainline Linux kernel. The newest HMM addition is anonymous memory migration support.
Jerome Glisse explained as part of the new patches today, "It allows to migrate anonymous memory seamlessly to device
memory and to have migration back to system memory if CPU try to access migrated memory."
Jerome explains more details on the HMM anonymous memory migration via this patch series. He also posted HMM v10 as the newest patches for this new kernel subsystem.