On Wed, Nov 15, 2023 at 01:49:37PM +0100, Thomas Hellström wrote: > +TODO: Pointer to the gpuvm code implementation if this iteration and "... implementation of this iteration ..." > +Using a MMU notifier for device DMA (and other methods) is described in > +`this document > +<https://docs.kernel.org/core-api/pin_user_pages.html#case-3-mmu-notifier-registration-with-or-without-page-faulting-hardware>`_. You can use internal linking instead: ---- >8 ---- diff --git a/Documentation/core-api/pin_user_pages.rst b/Documentation/core-api/pin_user_pages.rst index d3c1f6d8c0e0ec..6b5f7e6e7155fb 100644 --- a/Documentation/core-api/pin_user_pages.rst +++ b/Documentation/core-api/pin_user_pages.rst @@ -153,6 +153,8 @@ NOTE: Some pages, such as DAX pages, cannot be pinned with longterm pins. That's because DAX pages do not have a separate page cache, and so "pinning" implies locking down file system blocks, which is not (yet) supported in that way. +.. _mmu-notifier-registration-case: + CASE 3: MMU notifier registration, with or without page faulting hardware ------------------------------------------------------------------------- Device drivers can pin pages via get_user_pages*(), and register for mmu diff --git a/Documentation/gpu/drm-vm-bind-locking.rst b/Documentation/gpu/drm-vm-bind-locking.rst index bc701157cb3414..08b6a47a6e592f 100644 --- a/Documentation/gpu/drm-vm-bind-locking.rst +++ b/Documentation/gpu/drm-vm-bind-locking.rst @@ -366,8 +366,7 @@ need to care about, but so far it has proven difficult to exclude certain notifications. Using a MMU notifier for device DMA (and other methods) is described in -`this document -<https://docs.kernel.org/core-api/pin_user_pages.html#case-3-mmu-notifier-registration-with-or-without-page-faulting-hardware>`_. +:ref:`pin_user_pages() documentation <mmu-notifier-registration-case>`. Now the method of obtaining struct page references using get_user_pages() unfortunately can't be used under a dma_resv lock Thanks. -- An old man doll... just what I always wanted! - Clara