[PATCH v2 0/5] Refactor xe_exec_queue_create to fix user extensions
Brian Welty
brian.welty at intel.com
Wed Jan 3 18:44:03 UTC 2024
We have an issue in that exec_queue_user_extensions are applied too late.
In the case of USM properties, these need to be set prior to xe_lrc_init().
Split __xe_exec_queue_create() into two functions, alloc and init.
Setting of exec_queue user extensions is moved from the end of the ioctl
function earlier, into __xe_exec_queue_alloc(). This fixes above issue
with USM properties being set too late.
However, in order to apply user extensions this early, we can no longer
call q->ops functions. Instead, make it more efficient. User extension
functions can simply update the q->sched_props values and they will be
applied by the backend during q->ops->init().
Note to reviewers, perhaps review the last patch first.
v2: changes noted in patches, added a patch 5 to remove now unused
exec_queue_ops.set_job_timeout_ms()
Brian Welty (5):
drm/xe: Refactor __xe_exec_queue_create()
drm/xe: Add exec_queue.sched_props.job_timeout_ms
drm/xe: Add exec_queue.sched_props.priority
drm/xe: Finish refactoring of exec_queue_create
drm/xe: Remove set_job_timeout_ms() from exec_queue_ops
drivers/gpu/drm/xe/xe_exec_queue.c | 129 ++++++++++++++++-------
drivers/gpu/drm/xe/xe_exec_queue.h | 3 +-
drivers/gpu/drm/xe/xe_exec_queue_types.h | 8 +-
drivers/gpu/drm/xe/xe_execlist.c | 8 --
drivers/gpu/drm/xe/xe_gsc.c | 2 +-
drivers/gpu/drm/xe/xe_gt.c | 4 +-
drivers/gpu/drm/xe/xe_guc_submit.c | 25 +----
drivers/gpu/drm/xe/xe_migrate.c | 4 +-
8 files changed, 105 insertions(+), 78 deletions(-)
--
2.43.0
More information about the Intel-xe
mailing list