• Thomas Hellström's avatar
    Documentation/gpu: VM_BIND locking document · dad19630
    Thomas Hellström authored
    Add the first version of the VM_BIND locking document which is
    intended to be part of the xe driver upstreaming agreement.
    
    The document describes and discuss the locking used during exec-
    functions, evicton and for userptr gpu-vmas. Intention is to be using the
    same nomenclature as the drm-vm-bind-async.rst.
    
    v2:
    - s/gvm/gpu_vm/g (Rodrigo Vivi)
    - Clarify the userptr seqlock with a pointer to mm/mmu_notifier.c
      (Rodrigo Vivi)
    - Adjust commit message accordingly.
    - Add SPDX license header.
    
    v3:
    - Large update to align with the drm_gpuvm manager locking
    - Add "Efficient userptr gpu_vma exec function iteration" section
    - Add "Locking at bind- and unbind time" section.
    
    v4:
    - Fix tabs vs space errors by untabifying (Rodrigo Vivi)
    - Minor style fixes and typos (Rodrigo Vivi)
    - Clarify situations where stale GPU mappings are occurring and how
      access through these mappings are blocked. (Rodrigo Vivi)
    - Insert into the toctree in implementation_guidelines.rst
    
    v5:
    - Add a section about recoverable page-faults.
    - Use local references to other documentation where possible
      (Bagas Sanjaya)
    - General documentation fixes and typos (Danilo Krummrich and
      Boris Brezillon)
    - Improve the documentation around locks that need to be grabbed from the
      dm-fence critical section (Boris Brezillon)
    - Add more references to the DRM GPUVM helpers (Danilo Krummrich and
      Boriz Brezillon)
    - Update the rfc/xe.rst document.
    
    v6:
    - Rework wording to improve readability (Boris Brezillon, Rodrigo Vivi,
      Bagas Sanjaya)
    - Various minor fixes across the document (Boris Brezillon)
    
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
    Reviewed-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
    Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Reviewed-by: default avatarDanilo Krummrich <dakr@redhat.com>
    Acked-by: John Hubbard <jhubbard@nvidia.com> # Documentation/core-api/pin_user_pages.rst changes
    Link: https://patchwork.freedesktop.org/patch/msgid/20231129090637.2629-1-thomas.hellstrom@linux.intel.com
    dad19630
drm-vm-bind-locking.rst 25.8 KB