linux/drivers/gpu/drm/i915/gem
Chris Wilson 2e0986a58c drm/i915/gem: Cancel contexts when hangchecking is disabled
Normally, we rely on our hangcheck to prevent persistent batches from
hogging the GPU. However, if the user disables hangcheck, this mechanism
breaks down. Despite our insistence that this is unsafe, the users are
equally insistent that they want to use endless batches and will disable
the hangcheck mechanism. We are looking at replacing hangcheck, in the
next patch, with a softer mechanism, that sends a pulse down the engine
to check if it is well. We can use the same preemptive pulse to flush an
active context off the GPU upon context close, preventing resources
being lost and unkillable requests remaining on the GPU after process
termination.

Testcase: igt/gem_ctx_exec/basic-nohangcheck
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Jon Bloomfield <jon.bloomfield@intel.com>
Reviewed-by: Jon Bloomfield <jon.bloomfield@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191023133108.21401-4-chris@chris-wilson.co.uk
2019-10-23 23:52:10 +01:00
..
selftests drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_busy.c dma-buf: Restore seqlock around dma_resv updates 2019-08-16 12:40:58 +01:00
i915_gem_clflush.c drm/i915: Generalise the clflush dma-worker 2019-08-22 08:27:44 +01:00
i915_gem_clflush.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_client_blt.c drm/i915: Drop struct_mutex from around i915_retire_requests() 2019-10-04 15:39:17 +01:00
i915_gem_client_blt.h drm/i915: add in-kernel blitter client 2019-05-30 12:01:44 +01:00
i915_gem_context_types.h drm/i915/perf: allow holding preemption on filtered ctx 2019-10-14 21:30:28 +01:00
i915_gem_context.c drm/i915/gem: Cancel contexts when hangchecking is disabled 2019-10-23 23:52:10 +01:00
i915_gem_context.h drm/i915/perf: allow holding preemption on filtered ctx 2019-10-14 21:30:28 +01:00
i915_gem_dmabuf.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_domain.c drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
i915_gem_execbuffer.c Merge drm/drm-next into drm-intel-next-queued 2019-10-15 11:18:26 +03:00
i915_gem_fence.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
i915_gem_internal.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_ioctls.h
i915_gem_mman.c drm/i915: Move request runtime management onto gt 2019-10-04 15:39:26 +01:00
i915_gem_object_blt.c drm/i915: Make engine's batch pool safe for use with virtual engines 2019-08-27 16:42:12 +01:00
i915_gem_object_blt.h drm/i915/blt: support copying objects 2019-08-10 19:35:36 +01:00
i915_gem_object_types.h drm/i915/region: support volatile objects 2019-10-08 20:50:01 +01:00
i915_gem_object.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_object.h drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_pages.c drm/i915/region: support volatile objects 2019-10-08 20:50:01 +01:00
i915_gem_phys.c drm/i915: treat shmem as a region 2019-10-18 12:41:03 +01:00
i915_gem_pm.c drm/i915: Teach record_defaults to operate on the intel_gt 2019-10-22 20:43:07 +01:00
i915_gem_pm.h drm/i915: Teach record_defaults to operate on the intel_gt 2019-10-22 20:43:07 +01:00
i915_gem_region.c drm/i915: treat shmem as a region 2019-10-18 12:41:03 +01:00
i915_gem_region.h drm/i915/region: support contiguous allocations 2019-10-08 20:50:01 +01:00
i915_gem_shmem.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_shrinker.c drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
i915_gem_shrinker.h drm/i915: extract i915_gem_shrinker.h from i915_drv.h 2019-08-09 12:03:32 +03:00
i915_gem_stolen.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_stolen.h drm/i915: treat stolen as a region 2019-10-18 12:41:05 +01:00
i915_gem_throttle.c drm/i915: Keep drm_i915_file_private around under RCU 2019-08-23 22:13:17 +01:00
i915_gem_tiling.c drm/i915: Move swizzle_bit under i915_ggtt 2019-10-16 19:42:19 +01:00
i915_gem_userptr.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_wait.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
i915_gemfs.c drm/i915: Stop reconfiguring our shmemfs mountpoint 2019-08-09 20:18:30 +01:00
i915_gemfs.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
Makefile drm/i915: use upstream version of header tests 2019-07-30 12:11:57 +03:00