Matthew Brost 77a011012d drm/xe: Use ordered wq for preempt fence waiting
Preempt fences can sleep waiting for an exec queue suspend operation to
complete. If the system_unbound_wq is used for waiting and the number of
waiters exceeds max_active this will result in other users of the
system_unbound_wq getting starved. Use a device private work queue for
preempt fences to avoid starvation of the system_unbound_wq.

Even though suspend operations can complete out-of-order, all suspend
operations within a VM need to complete before the preempt rebind worker
can start. With that, use a device private ordered wq for preempt fence
waiting.

v2:
 - Add comment about cleanup on failure (Matt R)
 - Update commit message (Lucas)

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240401221913.139672-2-matthew.brost@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit 37c15c4aae1fe3f67efd2641db8d8c25c2d524ab)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2024-04-04 08:32:34 -05:00
..
2024-02-06 08:42:03 -05:00
2024-03-13 18:34:05 -07:00
2024-03-13 18:34:05 -07:00
2024-01-18 11:04:34 -08:00
2024-03-04 08:41:17 -06:00
2024-01-26 15:12:28 -05:00
2024-02-13 18:59:52 +01:00
2024-03-25 13:47:48 -05:00
2024-03-13 18:34:05 -07:00
2024-02-13 18:59:49 +01:00
2024-02-13 18:59:53 +01:00
2024-03-13 18:34:05 -07:00
2024-03-21 19:04:31 -07:00
2024-01-18 11:04:34 -08:00
2024-04-04 08:32:26 -05:00