[Intel-gfx] [PATCH v3 03/17] drm/i915: Remove pages_mutex and intel_gtt->vma_ops.set/clear_pages members, v3.

Matthew Auld matthew.william.auld at gmail.com
Fri Dec 17 15:21:41 UTC 2021


On Thu, 16 Dec 2021 at 14:28, Maarten Lankhorst
<maarten.lankhorst at linux.intel.com> wrote:
>
> Big delta, but boils down to moving set_pages to i915_vma.c, and removing
> the special handling, all callers use the defaults anyway. We only remap
> in ggtt, so default case will fall through.
>
> Because we still don't require locking in i915_vma_unpin(), handle this by
> using xchg in get_pages(), as it's locked with obj->mutex, and cmpxchg in
> unpin, which only fails if we race a against a new pin.
>
> Changes since v1:
> - aliasing gtt sets ZERO_SIZE_PTR, not -ENODEV, remove special case
>   from __i915_vma_get_pages(). (Matt)
> Changes since v2:
> - Free correct old pages in __i915_vma_get_pages(). (Matt)
>   Remove race of clearing vma->pages accidentally from put,
>   free it but leave it set, as only get has the lock.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld at intel.com>


More information about the Intel-gfx mailing list