linux_dsm_epyc7002/drivers/gpu/drm/i915/gem
John Hubbard 2170ecfa76 drm/i915: convert get_user_pages() --> pin_user_pages()
This code was using get_user_pages*(), in a "Case 2" scenario (DMA/RDMA),
using the categorization from [1].  That means that it's time to convert
the get_user_pages*() + put_page() calls to pin_user_pages*() +
unpin_user_pages() calls.

There is some helpful background in [2]: basically, this is a small part
of fixing a long-standing disconnect between pinning pages, and file
systems' use of those pages.

[1] Documentation/core-api/pin_user_pages.rst

[2] "Explicit pinning of user-space pages":
    https://lwn.net/Articles/807108/

Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Souptick Joarder <jrdr.linux@gmail.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: "Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Link: http://lkml.kernel.org/r/20200519002124.2025955-5-jhubbard@nvidia.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-03 20:09:42 -07:00
..
selftests drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
i915_gem_busy.c drm/i915: Align engine->uabi_class/instance with i915_drm.h 2020-01-20 09:13:01 +00:00
i915_gem_clflush.c drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
i915_gem_clflush.h
i915_gem_client_blt.c drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
i915_gem_client_blt.h
i915_gem_context_types.h drm/i915/gem: use spinlock_t instead of struct spinlock 2020-02-19 15:08:49 +02:00
i915_gem_context.c drm/i915: Only close vma we open 2020-04-24 11:24:45 +01:00
i915_gem_context.h drm/i915/gem: Check for a closed context when looking up an engine 2020-03-20 07:04:41 -07:00
i915_gem_dmabuf.c drm/i915: Skip CPU synchronisation on dmabuf attachments 2020-02-11 00:16:15 +00:00
i915_gem_domain.c drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane 2020-05-06 15:37:31 -07:00
i915_gem_execbuffer.c drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
i915_gem_fence.c drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
i915_gem_internal.c drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
i915_gem_ioctls.h drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET 2019-12-04 15:11:44 +00:00
i915_gem_lmem.c drm/i915/gem: Support discontiguous lmem object maps 2020-01-03 11:26:01 +00:00
i915_gem_lmem.h drm/i915/gem: Support discontiguous lmem object maps 2020-01-03 11:26:01 +00:00
i915_gem_mman.c drm/i915: Implement vm_ops->access for gdb access into mmaps 2020-05-01 17:30:47 +01:00
i915_gem_mman.h drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET 2019-12-04 15:11:44 +00:00
i915_gem_object_blt.c drm/i915/selftests: Always flush before unpining after writing 2020-05-11 16:50:04 +01:00
i915_gem_object_blt.h drm/i915/gt: Move the batch buffer pool from the engine to the gt 2020-04-30 19:12:02 +01:00
i915_gem_object_types.h drm/i915/gem: Drop cached obj->bind_count 2020-04-02 01:17:39 +01:00
i915_gem_object.c drm/i915/gem: Lazily acquire the device wakeref for freeing objects 2020-05-04 11:12:37 +01:00
i915_gem_object.h drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
i915_gem_pages.c drm/i915/selftests: Always flush before unpining after writing 2020-05-11 16:50:04 +01:00
i915_gem_phys.c drm: delete drm_pci.h 2020-04-03 17:11:41 +02:00
i915_gem_pm.c drm/i915/gem: Make WARN* drm specific where drm_priv ptr is available 2020-01-22 17:52:39 +02:00
i915_gem_pm.h drm/i915: Teach record_defaults to operate on the intel_gt 2019-10-22 20:43:07 +01:00
i915_gem_region.c drm/i915/gem: Single page objects are naturally contiguous 2020-01-02 21:21:17 +00:00
i915_gem_region.h drm/i915/region: support contiguous allocations 2019-10-08 20:50:01 +01:00
i915_gem_shmem.c drm/i915/gem: Make WARN* drm specific where drm_priv ptr is available 2020-01-22 17:52:39 +02:00
i915_gem_shrinker.c drm/i915/gem: Drop cached obj->bind_count 2020-04-02 01:17:39 +01:00
i915_gem_shrinker.h
i915_gem_stolen.c drm/i915/stolen: prefer struct drm_device based logging 2020-04-08 13:49:35 +03:00
i915_gem_stolen.h drm/i915/display: Be explicit in handling the preallocated vma 2020-02-05 09:20:39 +00:00
i915_gem_throttle.c
i915_gem_tiling.c drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma() 2020-04-27 09:47:37 -07:00
i915_gem_userptr.c drm/i915: convert get_user_pages() --> pin_user_pages() 2020-06-03 20:09:42 -07:00
i915_gem_wait.c
i915_gemfs.c
i915_gemfs.h