OSDN Git Service

drm/i915: Specialise i915_active.work lock classes
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 2 Dec 2019 14:01:32 +0000 (14:01 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 2 Dec 2019 21:57:23 +0000 (21:57 +0000)
commitae30300490fe9790857d3780f46aa5ad926d6261
tree659db03954fbefc380e2fd759d06d1c44af5d098
parent7d0aa0db4375edb0a2de66e9099fe0f9b197b80d
drm/i915: Specialise i915_active.work lock classes

Similar to for i915_active.mutex, we require each class of i915_active
to have distinct lockdep chains as some, but by no means all,
i915_active are used within the shrinker and so have much more severe
usage constraints. By using a lockclass local to i915_active_init() all
i915_active workers have the same lock class, and we may generate false
positives when waiting for the i915_active. If we push the lockclass
into the caller, each class of i915_active will have distinct lockdep
chains.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191202140133.2444217-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_active.c
drivers/gpu/drm/i915/i915_active.h