mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-24 03:19:47 +07:00
42fb60de31
If we have a set of active engines marked as being non-persistent, we
lose track of those if the user replaces those engines with
I915_CONTEXT_PARAM_ENGINES. As part of our uABI contract is that
non-persistent requests are terminated if they are no longer being
tracked by the user's context (in order to prevent a lost request
causing an untracked and so unstoppable GPU hang), we need to apply the
same context cancellation upon changing engines.
v2: Track stale engines[] so we only reap at context closure.
v3: Tvrtko spotted races with closing contexts and set-engines, so add a
veneer of kill-everything paranoia to clean up after losing a race.
Fixes:
|
||
---|---|---|
.. | ||
selftests | ||
i915_gem_busy.c | ||
i915_gem_clflush.c | ||
i915_gem_clflush.h | ||
i915_gem_client_blt.c | ||
i915_gem_client_blt.h | ||
i915_gem_context_types.h | ||
i915_gem_context.c | ||
i915_gem_context.h | ||
i915_gem_dmabuf.c | ||
i915_gem_domain.c | ||
i915_gem_execbuffer.c | ||
i915_gem_fence.c | ||
i915_gem_internal.c | ||
i915_gem_ioctls.h | ||
i915_gem_lmem.c | ||
i915_gem_lmem.h | ||
i915_gem_mman.c | ||
i915_gem_mman.h | ||
i915_gem_object_blt.c | ||
i915_gem_object_blt.h | ||
i915_gem_object_types.h | ||
i915_gem_object.c | ||
i915_gem_object.h | ||
i915_gem_pages.c | ||
i915_gem_phys.c | ||
i915_gem_pm.c | ||
i915_gem_pm.h | ||
i915_gem_region.c | ||
i915_gem_region.h | ||
i915_gem_shmem.c | ||
i915_gem_shrinker.c | ||
i915_gem_shrinker.h | ||
i915_gem_stolen.c | ||
i915_gem_stolen.h | ||
i915_gem_throttle.c | ||
i915_gem_tiling.c | ||
i915_gem_userptr.c | ||
i915_gem_wait.c | ||
i915_gemfs.c | ||
i915_gemfs.h |