Re: [RFC PATCH 3/5] mm/vma: add support for peer to peer to device vma
From: Jason Gunthorpe
Date: Thu Jan 31 2019 - 14:58:11 EST
On Thu, Jan 31, 2019 at 02:35:14PM -0500, Jerome Glisse wrote:
> > Basically invert the API flow - the DMA map would be done close to
> > GUP, not buried in the driver. This absolutely doesn't work for every
> > flow we have, but it does enable the ones that people seem to care
> > about when talking about P2P.
>
> This does not work for GPU really i do not want to have to rewrite GPU
> driver for this. Struct page is a burden and it does not bring anything
> to the table. I rather provide an all in one stop for driver to use
> this without having to worry between regular vma and special vma.
I'm talking about almost exactly what you've done in here - make a
'sgl' that is dma addresses only.
In these VMA patches you used a simple array of physical addreses -
I'm only talking about moving that array into a 'dma sgl'.
The flow is still basically the same - the driver directly gets DMA
physical addresses with no possibility to get a struct page or CPU
memory.
And then we can build more stuff around the 'dma sgl', including
the in-kernel users Logan is worrying about.
Jason