diff options
| author | Fei Yang <[email protected]> | 2022-03-28 10:16:50 -0700 |
|---|---|---|
| committer | Tvrtko Ursulin <[email protected]> | 2022-03-29 08:52:46 +0100 |
| commit | d8b932014c4aa5a70bb6add0f14d9329e7c489c2 (patch) | |
| tree | 1bbf5c544e0b3c9745246ff243d9b74a00c90b74 /tools/perf/scripts/python | |
| parent | be658e705d08d14eb1b7803c89e6964b5d1c5c0a (diff) | |
drm/i915: avoid concurrent writes to aux_inv
GPU hangs have been observed when multiple engines write to the
same aux_inv register at the same time. To avoid this each engine
should only invalidate its own auxiliary table. The function
gen12_emit_flush_xcs() currently invalidate the auxiliary table for
all engines because the rq->engine is not necessarily the engine
eventually carrying out the request, and potentially the engine
could even be a virtual one (with engine->instance being -1).
With the MMIO remap feature, we can actually set bit 17 of MI_LRI
instruction and let the hardware to figure out the local aux_inv
register at runtime to avoid invalidating auxiliary table for all
engines.
Bspec: 45728
v2: Invalidate AUX table for indirect context as well.
Cc: Stuart Summers <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
Signed-off-by: Chris Wilson <[email protected]>
Signed-off-by: Fei Yang <[email protected]>
Reviewed-by: Tvrtko Ursulin <[email protected]>
Signed-off-by: Tvrtko Ursulin <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions