[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cbbb0e95-8df1-9ab8-59ad-81bd7f3933fa@shipmail.org>
Date: Thu, 5 Sep 2019 19:05:43 +0200
From: Thomas Hellström (VMware)
<thomas_os@...pmail.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: linux-kernel@...r.kernel.org,
"pv-drivers@...are.com" <pv-drivers@...are.com>,
Thomas Hellstrom <thellstrom@...are.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Christian König <christian.koenig@....com>
Subject: dma_mmap_fault discussion
Hi, Christoph,
On 9/5/19 5:24 PM, Christoph Hellwig wrote:
> On Thu, Sep 05, 2019 at 05:21:24PM +0200, Thomas Hellström (VMware) wrote:
>> On 9/5/19 4:15 PM, Dave Hansen wrote:
>>> Hi Thomas,
>>>
>>> Thanks for the second batch of patches! These look much improved on all
>>> fronts.
>> Yes, although the TTM functionality isn't in yet. Hopefully we won't have to
>> bother you with those though, since this assumes TTM will be using the dma
>> API.
> Please take a look at dma_mmap_prepare and dma_mmap_fault in this
> branch:
>
> http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma-mmap-improvements
>
> they should allow to fault dma api pages in the page fault handler. But
> this is totally hot off the press and not actually tested for the last
> few patches. Note that I've also included your two patches from this
> series to handle SEV.
I took a quick look at the interfaces and have two questions:
1) dma_mmap_prepare(), would it be possible to drop the references to
the actual coherent region? The thing is that TTM doesn't know at mmap
time what memory will be backing the region. It can be VRAM, coherent
memory or system memory. Also see below:
2) @cpu_addr and @dma_addr are the values pointing at the beginning of
an allocated chunk, right? The reason I'm asking is that TTM's coherent
memory pool is sub-allocating from larger chunks into smaller PAGE_SIZE
chunks, which means that a TTM buffer object may be randomly split
across larger chunks, which means we have to store these values for each
PAGE_SiZE chunk.
Thanks,
Thomas
Powered by blists - more mailing lists