[PATCH] drm/xe: Mark preempt fence workqueue as reclaim

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Nov 14 18:27:17 UTC 2024


On Wed, Nov 13, 2024 at 09:17:51AM -0800, Matthew Brost wrote:
> 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 at intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_device.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 0e2dd691bdae..06d6db8b50f9 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -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);
> -- 
> 2.34.1
> 


More information about the Intel-xe mailing list