Heterogeneous Memory Management Aims For Linux 4.11
For those unfamiliar with the impact or new possibilities opened up by HMM, it's further explained here. HMM will make it easier to write code targeting GPUs in a manner more similar to CPUs, can use malloc'ed memory transparently on all supported devices by allowing device memory to be used transparently inside any process and for mirroring a process address space on a different device.
With Pascal GPUs, Heterogeneous Memory Management (HMM) is supported. The NVIDIA proprietary driver can already work with these HMM patches but NVIDIA is working to contribute an open-source Nouveau driver implementation for HMM. But according to Jerome's message today, the Nouveau patches for HMM won't be ready until Linux 4.11 or 4.12.
Outside of NVIDIA/Nouveau, Jerome commented, "I also discussed the features with other company and I am confident it can be use on other, yet, unrelease hardware."
Thus Jerome is hoping to see HMM finally land for the Linux 4.11 kernel as with these v16 patches he believes it is ready. These 16 patches adding just under three thousand lines of new code to the kernel to put the HMM infrastructure in place can be found via the kernel mailing list. It will be interesting to see if HMM makes it for Linux 4.11 if the Nouveau support isn't ready by that time, due to Torvalds generally being against new kernel code that doesn't have an open-source "client" / "user" of said code, otherwise it will come later this year with Linux 4.12.