diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-06-21 19:37:57 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-06-21 19:47:48 +0100 |
commit | 9e9539800dd44b1190128d48a116f4660f5d206f (patch) | |
tree | 2c849e4e2c45b3ad64a1144d76625d4356353b73 /drivers/gpu/drm/i915/gt/intel_timeline.c | |
parent | 2ae70d28f27f6a5358541845c623760754d63ece (diff) | |
download | linux-9e9539800dd44b1190128d48a116f4660f5d206f.tar.gz linux-9e9539800dd44b1190128d48a116f4660f5d206f.tar.bz2 linux-9e9539800dd44b1190128d48a116f4660f5d206f.zip |
drm/i915: Remove waiting & retiring from shrinker paths
i915_gem_wait_for_idle() and i915_retire_requests() introduce a
dependency on the timeline->mutex. This is problematic as we want to
later perform allocations underneath i915_active.mutex, forming a link
between the shrinker, the timeline and active mutexes. Nip this cycle in
the bud by removing the acquisition of the timeline mutex (i.e.
retiring) from inside the shrinker.
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/20190621183801.23252-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/gt/intel_timeline.c')
-rw-r--r-- | drivers/gpu/drm/i915/gt/intel_timeline.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_timeline.c b/drivers/gpu/drm/i915/gt/intel_timeline.c index d6accef50f8e..44273b7c96f8 100644 --- a/drivers/gpu/drm/i915/gt/intel_timeline.c +++ b/drivers/gpu/drm/i915/gt/intel_timeline.c @@ -268,9 +268,6 @@ static void timelines_init(struct intel_gt *gt) spin_lock_init(&timelines->hwsp_lock); INIT_LIST_HEAD(&timelines->hwsp_free_list); - - /* via i915_gem_wait_for_idle() */ - i915_gem_shrinker_taints_mutex(gt->i915, &timelines->mutex); } void intel_timelines_init(struct drm_i915_private *i915) |