[PATCH 3/3] drm/i915: prime mm.lock

Matthew Auld matthew.auld at intel.com
Tue Nov 26 16:16:08 UTC 2019


From: Daniel Vetter <daniel.vetter at ffwll.ch>

Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
Signed-off-by: Matthew Auld <matthew.auld at intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_object.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
index 458945e1823e..4b5a37d1f43c 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
@@ -54,6 +54,14 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj,
 {
 	__mutex_init(&obj->mm.lock, "obj->mm.lock", key);
 
+	if (IS_ENABLED(CONFIG_LOCKDEP)) {
+		mutex_lock_nested(&obj->mm.lock, I915_MM_GET_PAGES);
+		fs_reclaim_acquire(GFP_KERNEL);
+		might_lock(&obj->mm.lock);
+		fs_reclaim_release(GFP_KERNEL);
+		mutex_unlock(&obj->mm.lock);
+	}
+
 	spin_lock_init(&obj->vma.lock);
 	INIT_LIST_HEAD(&obj->vma.list);
 
-- 
2.20.1



More information about the Intel-gfx-trybot mailing list