On Wed, 27 Mar 2024 at 19:52, Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx> wrote: > > Hi! > > With our SVM mirror work we'll soon start looking at HMM cross-device > support. The identified needs are > > 1) Instead of migrating foreign device memory to system when the > current device is faulting, leave it in place... > 1a) for access using internal interconnect, > 1b) for access using PCIE p2p (probably mostly as a reference) > > 2) Request a foreign device to migrate memory range a..b of a CPU > mm_struct to local shareable device memory on that foreign device. > > and we plan to add an infrastructure for this. Probably this can be > done initially without too much (or any) changes to the hmm code > itself. > > So the question is basically whether anybody is interested in a > drm-wide solution for this and in that case also whether anybody sees > the need for cross-driver support? > > Otherwise any objections against us starting out with an xe driver > helper implementation that could be lifted to drm-level when needed? I think you'd probably have a better chance of getting others to help review it, if we started out outside the driver as much as possible. I don't think gpuvm would have worked out as well if we'd just kept it inside nouveau from the start, it at least forces you to think about what should be driver specific here. > Finally any suggestions or pointers to existing solutions for this? I think nvidia's uvm might have some of this type of code, but no idea how you'd even consider starting to use it as a reference, Dave.