On Wed, Apr 22, 2020 at 01:52:32PM -0400, Felix Kuehling wrote: > [+Philip Yang] > > Am 2020-04-21 um 8:21 p.m. schrieb Jason Gunthorpe: > > From: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > > > Presumably the intent here was that hmm_range_fault() could put the data > > into some HW specific format and thus avoid some work. However, nothing > > actually does that, and it isn't clear how anything actually could do that > > as hmm_range_fault() provides CPU addresses which must be DMA mapped. > > > > Perhaps there is some special HW that does not need DMA mapping, but we > > don't have any examples of this, and the theoretical performance win of > > avoiding an extra scan over the pfns array doesn't seem worth the > > complexity. Plus pfns needs to be scanned anyhow to sort out any > > DEVICE_PRIVATE pages. > > > > This version replaces the uint64_t with an usigned long containing a pfn > > and fix flags. On input flags is filled with the HMM_PFN_REQ_* values, on > > successful output it is filled with HMM_PFN_* values, describing the state > > of the pages. > > > > amdgpu is simple to convert, it doesn't use snapshot and doesn't use > > per-page flags. > > > > nouveau uses only 16 hmm_pte entries at most (ie fits in a few cache > > lines), and it sweeps over its pfns array a couple of times anyhow. > > > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > Hi Jason, > > I pointed out a typo in the documentation inline. Other than that, the > series is > > Acked-by: Felix Kuehling <Felix.Kuehling@xxxxxxx> > > I'll try to build it and run some basic tests later. Got it, thanks! Let me know if there are problems Jason