drm/i915: Make shrink/unshrink be atomic
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 10 Sep 2019 21:22:04 +0000 (22:22 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 11 Sep 2019 07:14:23 +0000 (08:14 +0100)
commit99013b10100c4b552eec845ee2ca5604c8332e92
tree3bcfdc04fa272d813db40b507efcd4c6496f5971
parent85dd14c2918d452fa875a4175bffb76e01c5af6e
drm/i915: Make shrink/unshrink be atomic

Add an atomic counter and always take the spinlock around the pin/unpin
events, so that we can perform the list manipulation concurrently.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190910212204.17190-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_domain.c
drivers/gpu/drm/i915/gem/i915_gem_object_types.h
drivers/gpu/drm/i915/gem/i915_gem_pages.c
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
drivers/gpu/drm/i915/gt/intel_context.c