]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/sa: Add lockdep annotations for SA manager swap_guard
authorSatyanarayana K V P <satyanarayana.k.v.p@intel.com>
Fri, 20 Feb 2026 05:55:23 +0000 (05:55 +0000)
committerMatthew Brost <matthew.brost@intel.com>
Fri, 20 Feb 2026 18:54:05 +0000 (10:54 -0800)
Annotate the SA manager init path to model taking swap_guard while under
reclaim context. This helps lockdep catch potential circular dependencies
between fs_reclaim and swap_guard in debug builds. Without this annotation,
lockdep is unaware of this chain until the shrinker runs.

Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Suggested-by: Matthew Brost <matthew.brost@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patch.msgid.link/20260220055519.2485681-8-satyanarayana.k.v.p@intel.com
drivers/gpu/drm/xe/xe_sa.c

index c7ee952e8914be4b6f731ee217e73bf8bdc20d2d..f32045f40b7a1d0fe581c32f00e33f4c5fc9f8fc 100644 (file)
@@ -89,6 +89,12 @@ struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size,
                if (ret)
                        return ERR_PTR(ret);
 
+               if (IS_ENABLED(CONFIG_PROVE_LOCKING)) {
+                       fs_reclaim_acquire(GFP_KERNEL);
+                       might_lock(&sa_manager->swap_guard);
+                       fs_reclaim_release(GFP_KERNEL);
+               }
+
                shadow = xe_managed_bo_create_pin_map(xe, tile, size,
                                                      XE_BO_FLAG_VRAM_IF_DGFX(tile) |
                                                      XE_BO_FLAG_GGTT |