nouveau/hmm: fault one page at a time
authorRalph Campbell <rcampbell@nvidia.com>
Wed, 1 Jul 2020 22:53:48 +0000 (15:53 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 10 Jul 2020 19:24:28 +0000 (16:24 -0300)
commit0cafc62e4daf7221a0ce80e0ed1b4c669d69d925
tree707beaa862709392601cf463f5132b99eb305658
parente478425bec930e9368c6efdc78d2e5d85eadc18e
nouveau/hmm: fault one page at a time

The SVM page fault handler groups faults into a range of contiguous
virtual addresses and requests hmm_range_fault() to populate and return
the page frame number of system memory mapped by the CPU.  In preparation
for supporting large pages to be mapped by the GPU, process faults one
page at a time. In addition, use the hmm_range default_flags to fix a
corner case where the input hmm_pfns array is not reinitialized after
hmm_range_fault() returns -EBUSY and must be called again.

Link: https://lore.kernel.org/r/20200701225352.9649-2-rcampbell@nvidia.com
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/gpu/drm/nouveau/nouveau_svm.c