All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Handle predicate programming
@ 2022-04-25 15:23 ` Ramalingam C
  0 siblings, 0 replies; 17+ messages in thread
From: Ramalingam C @ 2022-04-25 15:23 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Hellstrom Thomas

Userspace can leave SET_PREDICATE_RESULT active at the end of their
batch, causing all the kernel operations from the ring to be noop'ed.
This includes workarounds for memory corruption on dg2, as well as the
usual synchronisation, arbitration, coherency and signaling. The latter
can be used to cause system-wide hangs, prevent TLB invalidates, as
well as runtime-pm leakage due to a never signaled fence which escapes
hangcheck as the context does run.

To avoid the issues caused by allowing userspace to disable kernel
execution, we explicitly clear SET_PREDICATE_RESULT but not before
recording whether predication was active. By tracking if predication was
active at the end of the batch, we can restore it immediately prior to
executing the users next batch, preserving the status of the user's
predication.

And also LRI relative addressing is fixed as part of this series.

Akeem G Abodunrin (1):
  drm/i915/xehpsdv/dg1/tgl: Fix issue with LRI relative addressing

Chris Wilson (2):
  drm/i915/selftests: Skip poisoning SET_PREDICATE_RESULT on dg2
  drm/i915/gt: Clear SET_PREDICATE_RESULT prior to executing the ring

 drivers/gpu/drm/i915/gt/gen8_engine_cs.c      | 54 +++++++++++++
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h      |  7 ++
 drivers/gpu/drm/i915/gt/intel_engine_regs.h   |  2 +
 .../drm/i915/gt/intel_execlists_submission.c  | 15 +++-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h  |  2 +
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 75 ++++++++++++++-----
 drivers/gpu/drm/i915/gt/intel_lrc.h           |  5 ++
 drivers/gpu/drm/i915/gt/selftest_lrc.c        | 53 ++++++++++++-
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  2 +
 9 files changed, 189 insertions(+), 26 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-05-04 14:44 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-25 15:23 [PATCH 0/3] Handle predicate programming Ramalingam C
2022-04-25 15:23 ` [Intel-gfx] " Ramalingam C
2022-04-25 15:23 ` [PATCH 1/3] drm/i915/xehpsdv/dg1/tgl: Fix issue with LRI relative addressing Ramalingam C
2022-04-25 15:23   ` [Intel-gfx] " Ramalingam C
2022-04-29 12:21   ` Matthew Auld
2022-04-25 15:23 ` [PATCH 2/3] drm/i915/selftests: Skip poisoning SET_PREDICATE_RESULT on dg2 Ramalingam C
2022-04-25 15:23   ` [Intel-gfx] " Ramalingam C
2022-04-29 12:36   ` Matthew Auld
2022-04-29 12:36     ` [Intel-gfx] " Matthew Auld
2022-04-25 15:23 ` [PATCH 3/3] drm/i915/gt: Clear SET_PREDICATE_RESULT prior to executing the ring Ramalingam C
2022-04-25 15:23   ` [Intel-gfx] " Ramalingam C
2022-04-29 13:51   ` Matthew Auld
2022-05-04 14:44   ` Tvrtko Ursulin
2022-04-25 16:44 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for Handle predicate programming Patchwork
2022-04-29 16:29   ` Ramalingam C
2022-04-29 17:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-04-29 19:10 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.