[PATCH v2 00/12] Parallel submission of dma fence jobs and LR jobs with shared hardware resources
Francois Dugast
francois.dugast at intel.com
Wed Jul 24 19:32:53 UTC 2024
v2: The main purpose of this new version is to address (hopefully) all the
comments from Matt on the RFC [1]. Individual commits provide more details about
the changes. This version also adds a dependency to another series [2] on
CPU binds. While the new series of IGT tests [3] designed to test this feature
do pass on PVC, this series still lacks thorough testing and some more or less
sporadic issues are already identified (namely a circular lockdep and failure
waiting for GuC suspend). While I chase those, I am sharing this version already
to get feedback on the resolution of the previous comments and course correct
if needed.
[1] https://patchwork.freedesktop.org/series/136192/
[2] https://patchwork.freedesktop.org/patch/582003/?series=125608&rev=5
[3] https://patchwork.freedesktop.org/patch/604958/
Francois Dugast (12):
drm/xe/hw_engine_group: Introduce xe_hw_engine_group
drm/xe/guc_submit: Make suspend_wait interruptible
drm/xe/hw_engine_group: Register hw engine group's exec queues
drm/xe/hw_engine_group: Add helper to suspend faulting LR jobs
drm/xe/exec_queue: Prepare last fence for hw engine group resume
context
drm/xe/hw_engine_group: Add helper to wait for dma fence jobs
drm/xe/hw_engine_group: Ensure safe transition between execution modes
drm/xe/exec: Switch hw engine group execution mode upon job submission
drm/xe/guc_submit: Allow calling guc_exec_queue_resume with pending
resume
drm/xe/hw_engine_group: Resume exec queues suspended by dma fence jobs
drm/xe/vm: Remove restriction that all VMs must be faulting if one is
drm/xe/device: Remove unused xe_device::usm::num_vm_in_*
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/xe_device.h | 10 -
drivers/gpu/drm/xe/xe_device_types.h | 4 -
drivers/gpu/drm/xe/xe_exec.c | 20 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 41 ++-
drivers/gpu/drm/xe/xe_exec_queue.h | 2 +
drivers/gpu/drm/xe/xe_exec_queue_types.h | 2 +
drivers/gpu/drm/xe/xe_guc_submit.c | 14 +-
drivers/gpu/drm/xe/xe_hw_engine.c | 4 +
drivers/gpu/drm/xe/xe_hw_engine_group.c | 337 ++++++++++++++++++
drivers/gpu/drm/xe/xe_hw_engine_group.h | 29 ++
drivers/gpu/drm/xe/xe_hw_engine_group_types.h | 48 +++
drivers/gpu/drm/xe/xe_hw_engine_types.h | 2 +
drivers/gpu/drm/xe/xe_vm.c | 20 --
14 files changed, 492 insertions(+), 42 deletions(-)
create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_group.c
create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_group.h
create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_group_types.h
--
2.43.0
More information about the Intel-xe
mailing list