Messages in this thread |  | | From | Jason Gunthorpe <> | Subject | Re: [RFC PATCH 3/5] mm/vma: add support for peer to peer to device vma | Date | Thu, 31 Jan 2019 19:58:05 +0000 |
| |
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
|  |