drm/i915: Skip shrinking already freed pages
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 18 Jun 2019 07:41:29 +0000 (08:41 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 18 Jun 2019 17:09:08 +0000 (18:09 +0100)
commit0bd6cb6b58f7332c61cef2e4ae48db1ca9910b6b
tree334a2aa83aa2742e9697e25a7089a7c20d472271
parent767662bc62a43741b1bba7a2f8c04faaf0e3e93b
drm/i915: Skip shrinking already freed pages

Previously, we wanted to shrink the pages of freed objects before they
were finally RCU collected. However, by removing the struct_mutex
serialisation around the active reference, we need to acquire an extra
reference around the wait. Unfortunately this means that we have to skip
objects that are waiting RCU collection.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110937
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190618074153.16055-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_object.c
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c