Skip to content

async VM bind

Matthew Brost requested to merge (removed):xe into xe

Based on option number 3 purposed @danvet for the i915 VM bind implementation (stall async VM binds on error, allow non-async VM binds in error state, and have special operation to restart async VM binds).

Not allowing sync and async VM binds to mixed (per VM option) to simplify the implementation.

Tested via error injection and following IGTs: https://gitlab.freedesktop.org/drm/xe/igt-gpu-tools/-/merge_requests/5

Thinking we should settle on this uAPI ASAP as work on the compute UMD is starting and one would think they would use this uAPI.

v3:

  • Add missing xe_hw_fence put
  • Use TTM framework for locking
  • Drop vm->async_ops.flush
  • Add trace points
  • Include mainline memory corruption fixes (last 2 patches on tip)
  • Fix KERNEL/VM flag logic error in GT reset
  • Add slab for xe_bb
  • Don't wait forever if schedule disable is lost because of IOMMU CAT flood

v4:

  • rebase
  • Fix several races related to destroy compute mode engine
  • Use an atomic for GuC engine state
  • Don't destroy PTE until in-syncs are signaled in unbind
Edited by Matthew Brost

Merge request reports