Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Refactor xe_exec_queue_create to fix user extensions
@ 2024-01-03 18:44 Brian Welty
  2024-01-03 18:44 ` [PATCH v2 1/5] drm/xe: Refactor __xe_exec_queue_create() Brian Welty
                   ` (11 more replies)
  0 siblings, 12 replies; 19+ messages in thread
From: Brian Welty @ 2024-01-03 18:44 UTC (permalink / raw)
  To: intel-xe

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


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-01-04 19:15 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-03 18:44 [PATCH v2 0/5] Refactor xe_exec_queue_create to fix user extensions Brian Welty
2024-01-03 18:44 ` [PATCH v2 1/5] drm/xe: Refactor __xe_exec_queue_create() Brian Welty
2024-01-03 18:44 ` [PATCH v2 2/5] drm/xe: Add exec_queue.sched_props.job_timeout_ms Brian Welty
2024-01-04 16:44   ` Matthew Brost
2024-01-03 18:44 ` [PATCH v2 3/5] drm/xe: Add exec_queue.sched_props.priority Brian Welty
2024-01-04 16:46   ` Matthew Brost
2024-01-04 19:03     ` Welty, Brian
2024-01-04 19:14       ` Matthew Brost
2024-01-03 18:44 ` [PATCH v2 4/5] drm/xe: Finish refactoring of exec_queue_create Brian Welty
2024-01-04 16:54   ` Matthew Brost
2024-01-03 18:44 ` [PATCH v2 5/5] drm/xe: Remove set_job_timeout_ms() from exec_queue_ops Brian Welty
2024-01-04 17:07   ` Matthew Brost
2024-01-04 15:42 ` ✓ CI.Patch_applied: success for Refactor xe_exec_queue_create to fix user extensions (rev2) Patchwork
2024-01-04 15:43 ` ✓ CI.checkpatch: " Patchwork
2024-01-04 15:44 ` ✓ CI.KUnit: " Patchwork
2024-01-04 15:51 ` ✓ CI.Build: " Patchwork
2024-01-04 15:52 ` ✓ CI.Hooks: " Patchwork
2024-01-04 15:53 ` ✓ CI.checksparse: " Patchwork
2024-01-04 16:42 ` ✓ CI.BAT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox