]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/xe: Mark preempt fence workqueue as reclaim
authorMatthew Brost <matthew.brost@intel.com>
Wed, 13 Nov 2024 17:17:51 +0000 (09:17 -0800)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 21 Nov 2024 16:16:38 +0000 (17:16 +0100)
Preempt fences are in the path of reclaim, and we signal these fences in
the preempt workqueue. With that, we need to mark the preempt fence
workqueue with reclaim so that this workqueue can make forward progress
during reclaim.

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241113171751.1677784-1-matthew.brost@intel.com
(cherry picked from commit 15cf53ece41748a102f4b5ee26947c2ec059bf95)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/xe_device.c

index 51bb9d875268ffb06c30baebaabe46f4e2dd5ae4..a6f03414b10828312d7e0a84c512c670e43db4bc 100644 (file)
@@ -360,7 +360,8 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
        INIT_LIST_HEAD(&xe->pinned.external_vram);
        INIT_LIST_HEAD(&xe->pinned.evicted);
 
-       xe->preempt_fence_wq = alloc_ordered_workqueue("xe-preempt-fence-wq", 0);
+       xe->preempt_fence_wq = alloc_ordered_workqueue("xe-preempt-fence-wq",
+                                                      WQ_MEM_RECLAIM);
        xe->ordered_wq = alloc_ordered_workqueue("xe-ordered-wq", 0);
        xe->unordered_wq = alloc_workqueue("xe-unordered-wq", 0, 0);
        xe->destroy_wq = alloc_workqueue("xe-destroy-wq", 0, 0);