On Sun, Dec 13, 2020 at 04:09:25PM +0100, Thomas Hellström (Intel) wrote:
On 12/11/20 1:46 PM, Jason Gunthorpe wrote:
On Fri, Dec 11, 2020 at 08:50:53AM +0100, Thomas Hellström (Intel) wrote:
My understanding of this particular case is that hardware would continue to DMA to orphaned pages that are pinned until the driver is done with DMA,
mmu notifier replaces pinning as the locking mechanism. Drivers using mmu notifier should not be taking pins.
Keep in mind this was all built for HW with real shadow page tables that can do fine grained manipulation.
OK yes, that makes sense and in that context the fence wait is easier to understand. Looks like for example the radeon driver is using the notifier + get_user_pages() but there it looks like it's used to avoid having get_user_pages() clash with invalidation.
I think the radeon userptr implementation is bad enough that Christian wants to outright remove it. At least he keeps talking about doing that.
So maybe not a good example to look at :-) -Daniel
The GPU version of this to instead manipulate a command queue is a big aberration from what was intended.
Jason
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel