]> 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)
committerMatthew Brost <matthew.brost@intel.com>
Fri, 15 Nov 2024 19:15:31 +0000 (11:15 -0800)
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
drivers/gpu/drm/xe/xe_device.c

index 0e2dd691bdae9c9addfe357dcb9eb87b436dd128..06d6db8b50f93fc5b4dae7a4962463dc79965508 100644 (file)
@@ -350,7 +350,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);