[Intel-xe] [PATCH v2 00/31] Upstreaming prep / all of mbrosts patches

Thomas Hellström thomas.hellstrom at linux.intel.com
Wed May 3 12:37:14 UTC 2023


Hi, Matthew

On 5/2/23 02:16, Matthew Brost wrote:
> Series includes:
>
> - DRM scheduler changes for firmware backends (1 to 1 entity to scheduler)
> - LR workload story
> - VM LRU handling
> - GuC doorbell submission
> - Basic GPUVA
> - Sparse binding support
> - GPUVA + extobj + drm exec (collaboration with dakr + Francois Dugast)
> - GPUVA + userptr (minimal, more can be once Nouveua has userptr)
> - Fix fencing rules for compute / fault mode
> - Remove async worker for VM + error handling updates
> - Kernel doc for VM bind

It would be beneficial to the reviewer if  you could make separate 
series where applicable with links to previous discussions and add 
information about whether all design issues /discussions were resolved 
or if anything was remaining and a brief guidance as to what is in each 
patch of the series.

/Thomas




> Series is not fully ready for upstream and some of these things need to
> get merged upstream first but overall it is largely correct and
> certainly step in the right direction. Based on its size and the fact it
> took me 8 hours to rebase this today I'd say let's get this tree and
> fixup everything else in place.
>
> Minor uAPI breakage, IGT series:
> https://patchwork.freedesktop.org/series/117177/
>
> gitlab link:
> https://gitlab.freedesktop.org/drm/xe/kernel/-/merge_requests/344
>
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
>
> Christian König (1):
>    drm: execution context for GEM buffers v3
>
> Danilo Krummrich (2):
>    maple_tree: split up MA_STATE() macro
>    drm: manager to keep track of GPUs VA mappings
>
> Matthew Brost (28):
>    drm/sched: Add run_wq argument to drm_sched_init
>    drm/sched: Move schedule policy to scheduler
>    drm/sched: Add DRM_SCHED_POLICY_SINGLE_ENTITY scheduling policy
>    drm/xe: Use DRM_SCHED_POLICY_SINGLE_ENTITY mode
>    drm/xe: Long running job update
>    drm/xe: Ensure LR engines are not persistent
>    drm/xe: Only try to lock external BOs in VM bind
>    drm/xe: VM LRU bulk move
>    drm/xe/guc: Read HXG fields from DW1 of G2H response
>    drm/xe/guc: Return the lower part of blocking H2G message
>    drm/xe/guc: Use doorbells for submission if possible
>    drm/xe/guc: Print doorbell ID in GuC engine debugfs entry
>    maple_tree: Export mas_preallocate
>    drm/xe: Port Xe to GPUVA
>    drm/xe: NULL binding implementation
>    drm/xe: Avoid doing rebinds
>    drm/xe: Reduce the number list links in xe_vma
>    drm/xe: Optimize size of xe_vma allocation
>    drm/gpuva: Add drm device to GPUVA manager
>    drm/gpuva: Move dma-resv to GPUVA manager
>    drm/gpuva: Add support for extobj
>    drm/xe: Userptr refactor
>    drm/exec: Always compile drm_exec
>    drm/xe: Use drm_exec for locking rather than TTM exec helpers
>    drm/xe: Allow dma-fences as in-syncs for compute / faulting VM
>    drm/xe: Allow compute VMs to output dma-fences on binds
>    drm/xe: remove async worker, sync binds, new error handling
>    drm/xe/uapi: Add some VM bind kernel doc
>
>   Documentation/gpu/drm-mm.rst                 |   43 +
>   drivers/gpu/drm/Kconfig                      |    6 +
>   drivers/gpu/drm/Makefile                     |    4 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c   |    3 +-
>   drivers/gpu/drm/drm_debugfs.c                |   41 +
>   drivers/gpu/drm/drm_exec.c                   |  248 ++
>   drivers/gpu/drm/drm_gem.c                    |    3 +
>   drivers/gpu/drm/drm_gpuva_mgr.c              | 1779 ++++++++++++
>   drivers/gpu/drm/etnaviv/etnaviv_sched.c      |    5 +-
>   drivers/gpu/drm/i915/display/intel_display.c |    6 +-
>   drivers/gpu/drm/lima/lima_sched.c            |    5 +-
>   drivers/gpu/drm/msm/msm_ringbuffer.c         |    5 +-
>   drivers/gpu/drm/panfrost/panfrost_job.c      |    5 +-
>   drivers/gpu/drm/scheduler/sched_entity.c     |   84 +-
>   drivers/gpu/drm/scheduler/sched_fence.c      |    2 +-
>   drivers/gpu/drm/scheduler/sched_main.c       |   88 +-
>   drivers/gpu/drm/v3d/v3d_sched.c              |   25 +-
>   drivers/gpu/drm/xe/Kconfig                   |    1 +
>   drivers/gpu/drm/xe/regs/xe_guc_regs.h        |    1 +
>   drivers/gpu/drm/xe/tests/xe_bo.c             |   26 +-
>   drivers/gpu/drm/xe/tests/xe_migrate.c        |    6 +-
>   drivers/gpu/drm/xe/xe_bo.c                   |  100 +-
>   drivers/gpu/drm/xe/xe_bo.h                   |   13 +-
>   drivers/gpu/drm/xe/xe_bo_evict.c             |   24 +-
>   drivers/gpu/drm/xe/xe_bo_types.h             |    1 -
>   drivers/gpu/drm/xe/xe_device.c               |    2 +-
>   drivers/gpu/drm/xe/xe_dma_buf.c              |    2 +-
>   drivers/gpu/drm/xe/xe_engine.c               |   50 +-
>   drivers/gpu/drm/xe/xe_engine.h               |    4 +
>   drivers/gpu/drm/xe/xe_engine_types.h         |    1 +
>   drivers/gpu/drm/xe/xe_exec.c                 |  117 +-
>   drivers/gpu/drm/xe/xe_execlist.c             |    3 +-
>   drivers/gpu/drm/xe/xe_gt_pagefault.c         |   84 +-
>   drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c  |   14 +-
>   drivers/gpu/drm/xe/xe_guc.c                  |    6 +
>   drivers/gpu/drm/xe/xe_guc_ct.c               |   12 +-
>   drivers/gpu/drm/xe/xe_guc_engine_types.h     |    9 +
>   drivers/gpu/drm/xe/xe_guc_pc.c               |    6 +-
>   drivers/gpu/drm/xe/xe_guc_submit.c           |  398 ++-
>   drivers/gpu/drm/xe/xe_guc_submit.h           |    1 +
>   drivers/gpu/drm/xe/xe_guc_types.h            |    4 +
>   drivers/gpu/drm/xe/xe_huc.c                  |    2 +-
>   drivers/gpu/drm/xe/xe_lrc.c                  |    8 +-
>   drivers/gpu/drm/xe/xe_migrate.c              |   31 +-
>   drivers/gpu/drm/xe/xe_pt.c                   |  198 +-
>   drivers/gpu/drm/xe/xe_sync.c                 |   26 +-
>   drivers/gpu/drm/xe/xe_sync.h                 |    2 +-
>   drivers/gpu/drm/xe/xe_trace.h                |   20 +-
>   drivers/gpu/drm/xe/xe_vm.c                   | 2567 +++++++-----------
>   drivers/gpu/drm/xe/xe_vm.h                   |  135 +-
>   drivers/gpu/drm/xe/xe_vm_madvise.c           |  125 +-
>   drivers/gpu/drm/xe/xe_vm_types.h             |  324 ++-
>   drivers/gpu/drm/xe/xe_wait_user_fence.c      |   43 +-
>   include/drm/drm_debugfs.h                    |   24 +
>   include/drm/drm_drv.h                        |    7 +
>   include/drm/drm_exec.h                       |  115 +
>   include/drm/drm_gem.h                        |   75 +
>   include/drm/drm_gpuva_mgr.h                  |  759 ++++++
>   include/drm/gpu_scheduler.h                  |   29 +-
>   include/linux/maple_tree.h                   |    7 +-
>   include/uapi/drm/xe_drm.h                    |  128 +-
>   lib/maple_tree.c                             |    1 +
>   62 files changed, 5543 insertions(+), 2320 deletions(-)
>   create mode 100644 drivers/gpu/drm/drm_exec.c
>   create mode 100644 drivers/gpu/drm/drm_gpuva_mgr.c
>   create mode 100644 include/drm/drm_exec.h
>   create mode 100644 include/drm/drm_gpuva_mgr.h
>


More information about the Intel-xe mailing list