* [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker
@ 2019-12-30 16:01 Chris Wilson
2019-12-30 16:01 ` [Intel-gfx] [PATCH 2/6] drm/i915/gt: Clear LRC image inline Chris Wilson
` (6 more replies)
0 siblings, 7 replies; 17+ messages in thread
From: Chris Wilson @ 2019-12-30 16:01 UTC (permalink / raw)
To: intel-gfx; +Cc: matthew.auld
When cleaning up the mock device, remember to flush the context worker
to free the residual GEM contexts before shutting down the device.
Closes: https://gitlab.freedesktop.org/drm/intel/issues/802
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
---
drivers/gpu/drm/i915/i915_gem.c | 4 ++--
drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 9ddcf17230e6..a3d701b50a6b 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1172,6 +1172,8 @@ void i915_gem_driver_remove(struct drm_i915_private *dev_priv)
void i915_gem_driver_release(struct drm_i915_private *dev_priv)
{
+ i915_gem_driver_release__contexts(dev_priv);
+
intel_gt_driver_release(&dev_priv->gt);
intel_wa_list_free(&dev_priv->gt_wa_list);
@@ -1179,8 +1181,6 @@ void i915_gem_driver_release(struct drm_i915_private *dev_priv)
intel_uc_cleanup_firmwares(&dev_priv->gt.uc);
i915_gem_cleanup_userptr(dev_priv);
- i915_gem_driver_release__contexts(dev_priv);
-
i915_gem_drain_freed_objects(dev_priv);
WARN_ON(!list_empty(&dev_priv->gem.contexts.list));
diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
index 2b01094e4318..3b8986983afc 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
@@ -58,6 +58,8 @@ static void mock_device_release(struct drm_device *dev)
mock_device_flush(i915);
intel_gt_driver_remove(&i915->gt);
+ i915_gem_driver_release__contexts(i915);
+
i915_gem_drain_workqueue(i915);
i915_gem_drain_freed_objects(i915);
--
2.25.0.rc0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 17+ messages in thread* [Intel-gfx] [PATCH 2/6] drm/i915/gt: Clear LRC image inline 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson @ 2019-12-30 16:01 ` Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value Chris Wilson ` (5 subsequent siblings) 6 siblings, 0 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:01 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld When creating the initial LRC image, we also want to clear the MI_NOOPs and register values. Rather than use a blanket memset beforehand, apply the clears inline, close the context image and force inhibition of the uninitialised reminder. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/gt/intel_lrc.c | 52 +++++++++++++++----------- drivers/gpu/drm/i915/gt/selftest_lrc.c | 11 +++--- 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index 14e7e179855f..f0618e6aabd5 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -488,9 +488,10 @@ lrc_descriptor(struct intel_context *ce, struct intel_engine_cs *engine) return desc; } -static u32 *set_offsets(u32 *regs, +static void set_offsets(u32 *regs, const u8 *data, - const struct intel_engine_cs *engine) + const struct intel_engine_cs *engine, + bool clear) #define NOP(x) (BIT(7) | (x)) #define LRI(count, flags) ((flags) << 6 | (count)) #define POSTED BIT(0) @@ -506,7 +507,10 @@ static u32 *set_offsets(u32 *regs, u8 count, flags; if (*data & BIT(7)) { /* skip */ - regs += *data++ & ~BIT(7); + count = *data++ & ~BIT(7); + if (clear) + memset32(regs, 0, count); + regs += count; continue; } @@ -532,12 +536,18 @@ static u32 *set_offsets(u32 *regs, offset |= v & ~BIT(7); } while (v & BIT(7)); - *regs = base + (offset << 2); + regs[0] = base + (offset << 2); + if (clear) + regs[1] = MI_NOOP; regs += 2; } while (--count); } - return regs; + if (clear) { /* Close the batch; used mainly by live_lrc_layout() */ + *regs = MI_BATCH_BUFFER_END; + if (INTEL_GEN(engine->i915) >= 10) + *regs |= BIT(0); + } } static const u8 gen8_xcs_offsets[] = { @@ -1443,7 +1453,7 @@ static bool can_merge_rq(const struct i915_request *prev, static void virtual_update_register_offsets(u32 *regs, struct intel_engine_cs *engine) { - set_offsets(regs, reg_offsets(engine), engine); + set_offsets(regs, reg_offsets(engine), engine, false); } static bool virtual_matches(const struct virtual_engine *ve, @@ -3957,15 +3967,19 @@ static u32 intel_lr_indirect_ctx_offset(const struct intel_engine_cs *engine) static void init_common_reg_state(u32 * const regs, const struct intel_engine_cs *engine, - const struct intel_ring *ring) + const struct intel_ring *ring, + bool inhibit) { - regs[CTX_CONTEXT_CONTROL] = - _MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT) | - _MASKED_BIT_ENABLE(CTX_CTRL_INHIBIT_SYN_CTX_SWITCH); + u32 ctl; + + ctl = _MASKED_BIT_ENABLE(CTX_CTRL_INHIBIT_SYN_CTX_SWITCH); + ctl |= _MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT); + if (inhibit) + ctl |= CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT; if (INTEL_GEN(engine->i915) < 11) - regs[CTX_CONTEXT_CONTROL] |= - _MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_SAVE_INHIBIT | - CTX_CTRL_RS_CTX_ENABLE); + ctl |= _MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_SAVE_INHIBIT | + CTX_CTRL_RS_CTX_ENABLE); + regs[CTX_CONTEXT_CONTROL] = ctl; regs[CTX_RING_CTL] = RING_CTL_SIZE(ring->size) | RING_VALID; regs[CTX_BB_STATE] = RING_BB_PPGTT; @@ -4024,7 +4038,7 @@ static void execlists_init_reg_state(u32 *regs, const struct intel_context *ce, const struct intel_engine_cs *engine, const struct intel_ring *ring, - bool close) + bool inhibit) { /* * A context is actually a big batch buffer with several @@ -4036,15 +4050,9 @@ static void execlists_init_reg_state(u32 *regs, * * Must keep consistent with virtual_update_register_offsets(). */ - u32 *bbe = set_offsets(regs, reg_offsets(engine), engine); - - if (close) { /* Close the batch; used mainly by live_lrc_layout() */ - *bbe = MI_BATCH_BUFFER_END; - if (INTEL_GEN(engine->i915) >= 10) - *bbe |= BIT(0); - } + set_offsets(regs, reg_offsets(engine), engine, inhibit); - init_common_reg_state(regs, engine, ring); + init_common_reg_state(regs, engine, ring, inhibit); init_ppgtt_reg_state(regs, vm_alias(ce->vm)); init_wa_bb_reg_state(regs, engine, diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c index 9ec9833c9c7b..dd3882e8958c 100644 --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c @@ -3362,7 +3362,7 @@ static int live_lrc_layout(void *arg) struct intel_gt *gt = arg; struct intel_engine_cs *engine; enum intel_engine_id id; - u32 *mem; + u32 *lrc; int err; /* @@ -3370,13 +3370,13 @@ static int live_lrc_layout(void *arg) * match the layout saved by HW. */ - mem = kmalloc(PAGE_SIZE, GFP_KERNEL); - if (!mem) + lrc = kmalloc(PAGE_SIZE, GFP_KERNEL); + if (!lrc) return -ENOMEM; err = 0; for_each_engine(engine, gt, id) { - u32 *hw, *lrc; + u32 *hw; int dw; if (!engine->default_state) @@ -3390,7 +3390,6 @@ static int live_lrc_layout(void *arg) } hw += LRC_STATE_PN * PAGE_SIZE / sizeof(*hw); - lrc = memset(mem, 0, PAGE_SIZE); execlists_init_reg_state(lrc, engine->kernel_context, engine, @@ -3454,7 +3453,7 @@ static int live_lrc_layout(void *arg) break; } - kfree(mem); + kfree(lrc); return err; } -- 2.25.0.rc0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 2/6] drm/i915/gt: Clear LRC image inline Chris Wilson @ 2019-12-30 16:01 ` Chris Wilson 2019-12-30 16:13 ` Chris Wilson 2019-12-30 16:18 ` Mika Kuoppala 2019-12-30 16:01 ` [Intel-gfx] [PATCH 4/6] drm/i915/gt: Ignore stale context state upon resume Chris Wilson ` (4 subsequent siblings) 6 siblings, 2 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:01 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld Do not reset RING_BB_STATE, leaving it to the default state value. This prevents bdw/bsw from getting confused when executing batches from the GGTT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/gt/intel_lrc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index f0618e6aabd5..2bf6dc6d528d 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -3982,7 +3982,6 @@ static void init_common_reg_state(u32 * const regs, regs[CTX_CONTEXT_CONTROL] = ctl; regs[CTX_RING_CTL] = RING_CTL_SIZE(ring->size) | RING_VALID; - regs[CTX_BB_STATE] = RING_BB_PPGTT; } static void init_wa_bb_reg_state(u32 * const regs, -- 2.25.0.rc0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value 2019-12-30 16:01 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value Chris Wilson @ 2019-12-30 16:13 ` Chris Wilson 2019-12-30 16:18 ` Mika Kuoppala 1 sibling, 0 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:13 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld Quoting Chris Wilson (2019-12-30 16:01:09) > Do not reset RING_BB_STATE, leaving it to the default state value. This > prevents bdw/bsw from getting confused when executing batches from the > GGTT. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Matthew Auld <matthew.auld@intel.com> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value 2019-12-30 16:01 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value Chris Wilson 2019-12-30 16:13 ` Chris Wilson @ 2019-12-30 16:18 ` Mika Kuoppala 1 sibling, 0 replies; 17+ messages in thread From: Mika Kuoppala @ 2019-12-30 16:18 UTC (permalink / raw) To: Chris Wilson, intel-gfx; +Cc: matthew.auld Chris Wilson <chris@chris-wilson.co.uk> writes: > Do not reset RING_BB_STATE, leaving it to the default state value. This > prevents bdw/bsw from getting confused when executing batches from the > GGTT. Happily setting up ro registers through ctx image, stamped my me... Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > drivers/gpu/drm/i915/gt/intel_lrc.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index f0618e6aabd5..2bf6dc6d528d 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -3982,7 +3982,6 @@ static void init_common_reg_state(u32 * const regs, > regs[CTX_CONTEXT_CONTROL] = ctl; > > regs[CTX_RING_CTL] = RING_CTL_SIZE(ring->size) | RING_VALID; > - regs[CTX_BB_STATE] = RING_BB_PPGTT; > } > > static void init_wa_bb_reg_state(u32 * const regs, > -- > 2.25.0.rc0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH 4/6] drm/i915/gt: Ignore stale context state upon resume 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 2/6] drm/i915/gt: Clear LRC image inline Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value Chris Wilson @ 2019-12-30 16:01 ` Chris Wilson 2019-12-30 16:14 ` Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling Chris Wilson ` (3 subsequent siblings) 6 siblings, 1 reply; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:01 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld We leave the kernel_context on the HW as we suspend (and while idle). There is no guarantee that is complete in memory, so we try to inhibit restoration from the kernel_context. Reinforce the inhibition by scrubbing the context. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/gt/intel_lrc.c | 11 ++++++++++- drivers/gpu/drm/i915/gt/intel_ring_submission.c | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index 2bf6dc6d528d..6d26d84812b6 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -2504,6 +2504,9 @@ static int execlists_context_alloc(struct intel_context *ce) static void execlists_context_reset(struct intel_context *ce) { + CE_TRACE(ce, "reset\n"); + GEM_BUG_ON(!intel_context_is_pinned(ce)); + /* * Because we emit WA_TAIL_DWORDS there may be a disparity * between our bookkeeping in ce->ring->head and ce->ring->tail and @@ -2520,8 +2523,14 @@ static void execlists_context_reset(struct intel_context *ce) * So to avoid that we reset the context images upon resume. For * simplicity, we just zero everything out. */ - intel_ring_reset(ce->ring, 0); + intel_ring_reset(ce->ring, ce->ring->emit); + + /* Scrub away the garbage */ + execlists_init_reg_state(ce->lrc_reg_state, + ce, ce->engine, ce->ring, true); __execlists_update_reg_state(ce, ce->engine); + + ce->lrc_desc |= CTX_DESC_FORCE_RESTORE; } static const struct intel_context_ops execlists_context_ops = { diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c b/drivers/gpu/drm/i915/gt/intel_ring_submission.c index 066c4eddf5d0..843111b7b015 100644 --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c @@ -1347,7 +1347,7 @@ static int ring_context_pin(struct intel_context *ce) static void ring_context_reset(struct intel_context *ce) { - intel_ring_reset(ce->ring, 0); + intel_ring_reset(ce->ring, ce->ring->emit); } static const struct intel_context_ops ring_context_ops = { -- 2.25.0.rc0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 4/6] drm/i915/gt: Ignore stale context state upon resume 2019-12-30 16:01 ` [Intel-gfx] [PATCH 4/6] drm/i915/gt: Ignore stale context state upon resume Chris Wilson @ 2019-12-30 16:14 ` Chris Wilson 0 siblings, 0 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:14 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld Quoting Chris Wilson (2019-12-30 16:01:10) > We leave the kernel_context on the HW as we suspend (and while idle). > There is no guarantee that is complete in memory, so we try to inhibit > restoration from the kernel_context. Reinforce the inhibition by > scrubbing the context. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson ` (2 preceding siblings ...) 2019-12-30 16:01 ` [Intel-gfx] [PATCH 4/6] drm/i915/gt: Ignore stale context state upon resume Chris Wilson @ 2019-12-30 16:01 ` Chris Wilson 2019-12-30 16:26 ` Chris Wilson 2019-12-30 16:30 ` Mika Kuoppala 2019-12-30 16:01 ` [Intel-gfx] [PATCH 6/6] drm/i915/gt: Always poison the kernel_context image before unparking Chris Wilson ` (2 subsequent siblings) 6 siblings, 2 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:01 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld Before we idle, on parking, we switch to the kernel context such that we have a scratch context loaded while the GPU idle, protecting any precious user state. Be paranoid and assume that the idle state may have been trashed, and reset the kernel_context image after idling. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Imre Deak <imre.deak@intel.com> --- drivers/gpu/drm/i915/gt/intel_engine_pm.c | 6 ++++++ drivers/gpu/drm/i915/gt/intel_gt_pm.c | 8 -------- drivers/gpu/drm/i915/gt/mock_engine.c | 5 +++++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c index cd82f0baef49..1b9f73948f22 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c @@ -20,6 +20,7 @@ static int __engine_unpark(struct intel_wakeref *wf) { struct intel_engine_cs *engine = container_of(wf, typeof(*engine), wakeref); + struct intel_context *ce; void *map; ENGINE_TRACE(engine, "\n"); @@ -34,6 +35,11 @@ static int __engine_unpark(struct intel_wakeref *wf) if (!IS_ERR_OR_NULL(map)) engine->pinned_default_state = map; + /* Discard stale context state from across idling */ + ce = engine->kernel_context; + if (ce) + ce->ops->reset(ce); + if (engine->unpark) engine->unpark(engine); diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c index 9b220c930ebc..d1c2f034296a 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c @@ -213,16 +213,8 @@ int intel_gt_resume(struct intel_gt *gt) intel_llc_enable(>->llc); for_each_engine(engine, gt, id) { - struct intel_context *ce; - intel_engine_pm_get(engine); - ce = engine->kernel_context; - if (ce) { - GEM_BUG_ON(!intel_context_is_pinned(ce)); - ce->ops->reset(ce); - } - engine->serial++; /* kernel context lost */ err = engine->resume(engine); diff --git a/drivers/gpu/drm/i915/gt/mock_engine.c b/drivers/gpu/drm/i915/gt/mock_engine.c index 4e1eafa94be9..d0e68ce9aa51 100644 --- a/drivers/gpu/drm/i915/gt/mock_engine.c +++ b/drivers/gpu/drm/i915/gt/mock_engine.c @@ -152,6 +152,10 @@ static int mock_context_pin(struct intel_context *ce) return intel_context_active_acquire(ce); } +static void mock_context_reset(struct intel_context *ce) +{ +} + static const struct intel_context_ops mock_context_ops = { .alloc = mock_context_alloc, @@ -161,6 +165,7 @@ static const struct intel_context_ops mock_context_ops = { .enter = intel_context_enter_engine, .exit = intel_context_exit_engine, + .reset = mock_context_reset, .destroy = mock_context_destroy, }; -- 2.25.0.rc0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling 2019-12-30 16:01 ` [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling Chris Wilson @ 2019-12-30 16:26 ` Chris Wilson 2019-12-30 16:30 ` Mika Kuoppala 1 sibling, 0 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:26 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld Quoting Chris Wilson (2019-12-30 16:01:11) > Before we idle, on parking, we switch to the kernel context such that we > have a scratch context loaded while the GPU idle, protecting any > precious user state. Be paranoid and assume that the idle state may have > been trashed, and reset the kernel_context image after idling. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Imre Deak <imre.deak@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling 2019-12-30 16:01 ` [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling Chris Wilson 2019-12-30 16:26 ` Chris Wilson @ 2019-12-30 16:30 ` Mika Kuoppala 2019-12-30 16:36 ` Chris Wilson 1 sibling, 1 reply; 17+ messages in thread From: Mika Kuoppala @ 2019-12-30 16:30 UTC (permalink / raw) To: Chris Wilson, intel-gfx; +Cc: matthew.auld Chris Wilson <chris@chris-wilson.co.uk> writes: > Before we idle, on parking, we switch to the kernel context such that we > have a scratch context loaded while the GPU idle, protecting any > precious user state. Be paranoid and assume that the idle state may have > been trashed, and reset the kernel_context image after idling. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Imre Deak <imre.deak@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_engine_pm.c | 6 ++++++ > drivers/gpu/drm/i915/gt/intel_gt_pm.c | 8 -------- > drivers/gpu/drm/i915/gt/mock_engine.c | 5 +++++ > 3 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > index cd82f0baef49..1b9f73948f22 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c > +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > @@ -20,6 +20,7 @@ static int __engine_unpark(struct intel_wakeref *wf) > { > struct intel_engine_cs *engine = > container_of(wf, typeof(*engine), wakeref); > + struct intel_context *ce; > void *map; > > ENGINE_TRACE(engine, "\n"); > @@ -34,6 +35,11 @@ static int __engine_unpark(struct intel_wakeref *wf) > if (!IS_ERR_OR_NULL(map)) > engine->pinned_default_state = map; > > + /* Discard stale context state from across idling */ > + ce = engine->kernel_context; > + if (ce) > + ce->ops->reset(ce); > + Expect the worst, sure. Checksum would get us datapoints tho. Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > if (engine->unpark) > engine->unpark(engine); > > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c > index 9b220c930ebc..d1c2f034296a 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c > @@ -213,16 +213,8 @@ int intel_gt_resume(struct intel_gt *gt) > intel_llc_enable(>->llc); > > for_each_engine(engine, gt, id) { > - struct intel_context *ce; > - > intel_engine_pm_get(engine); > > - ce = engine->kernel_context; > - if (ce) { > - GEM_BUG_ON(!intel_context_is_pinned(ce)); > - ce->ops->reset(ce); > - } > - > engine->serial++; /* kernel context lost */ > err = engine->resume(engine); > > diff --git a/drivers/gpu/drm/i915/gt/mock_engine.c b/drivers/gpu/drm/i915/gt/mock_engine.c > index 4e1eafa94be9..d0e68ce9aa51 100644 > --- a/drivers/gpu/drm/i915/gt/mock_engine.c > +++ b/drivers/gpu/drm/i915/gt/mock_engine.c > @@ -152,6 +152,10 @@ static int mock_context_pin(struct intel_context *ce) > return intel_context_active_acquire(ce); > } > > +static void mock_context_reset(struct intel_context *ce) > +{ > +} > + > static const struct intel_context_ops mock_context_ops = { > .alloc = mock_context_alloc, > > @@ -161,6 +165,7 @@ static const struct intel_context_ops mock_context_ops = { > .enter = intel_context_enter_engine, > .exit = intel_context_exit_engine, > > + .reset = mock_context_reset, > .destroy = mock_context_destroy, > }; > > -- > 2.25.0.rc0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling 2019-12-30 16:30 ` Mika Kuoppala @ 2019-12-30 16:36 ` Chris Wilson 0 siblings, 0 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:36 UTC (permalink / raw) To: Mika Kuoppala, intel-gfx; +Cc: matthew.auld Quoting Mika Kuoppala (2019-12-30 16:30:21) > Chris Wilson <chris@chris-wilson.co.uk> writes: > > > Before we idle, on parking, we switch to the kernel context such that we > > have a scratch context loaded while the GPU idle, protecting any > > precious user state. Be paranoid and assume that the idle state may have > > been trashed, and reset the kernel_context image after idling. > > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > Cc: Imre Deak <imre.deak@intel.com> > > --- > > drivers/gpu/drm/i915/gt/intel_engine_pm.c | 6 ++++++ > > drivers/gpu/drm/i915/gt/intel_gt_pm.c | 8 -------- > > drivers/gpu/drm/i915/gt/mock_engine.c | 5 +++++ > > 3 files changed, 11 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > > index cd82f0baef49..1b9f73948f22 100644 > > --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c > > +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > > @@ -20,6 +20,7 @@ static int __engine_unpark(struct intel_wakeref *wf) > > { > > struct intel_engine_cs *engine = > > container_of(wf, typeof(*engine), wakeref); > > + struct intel_context *ce; > > void *map; > > > > ENGINE_TRACE(engine, "\n"); > > @@ -34,6 +35,11 @@ static int __engine_unpark(struct intel_wakeref *wf) > > if (!IS_ERR_OR_NULL(map)) > > engine->pinned_default_state = map; > > > > + /* Discard stale context state from across idling */ > > + ce = engine->kernel_context; > > + if (ce) > > + ce->ops->reset(ce); > > + > > Expect the worst, sure. > Checksum would get us datapoints tho. Inject yet-another request to the kernel_context on parking to force a context switch [to itself] and so ensure the image is saved to HW. Wait for parking, compute the CRC. Then on unpark compute the CRC again... The design is all based around that we don't trust the HW and try to avoid caring about what's in the scratch kernel_context, so other than validating HW... Not a terrible idea, but we can probably cook up something more targeted if we thought about it. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH 6/6] drm/i915/gt: Always poison the kernel_context image before unparking 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson ` (3 preceding siblings ...) 2019-12-30 16:01 ` [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling Chris Wilson @ 2019-12-30 16:01 ` Chris Wilson 2019-12-30 16:23 ` Mika Kuoppala 2019-12-30 16:03 ` [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Mika Kuoppala 2019-12-30 16:53 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] " Patchwork 6 siblings, 1 reply; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:01 UTC (permalink / raw) To: intel-gfx; +Cc: matthew.auld Keep scrubbing the kernel_context image with poison before we reset it in order to demonstrate that we will be resilient in the case where it is accidentally overwritten on idle. Suggested-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Imre Deak <imre.deak@intel.com> --- drivers/gpu/drm/i915/gt/intel_context_types.h | 2 ++ drivers/gpu/drm/i915/gt/intel_engine_pm.c | 18 +++++++++++++++++- drivers/gpu/drm/i915/gt/intel_lrc.c | 4 ++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h b/drivers/gpu/drm/i915/gt/intel_context_types.h index 9527a659546c..ca1420fb8b53 100644 --- a/drivers/gpu/drm/i915/gt/intel_context_types.h +++ b/drivers/gpu/drm/i915/gt/intel_context_types.h @@ -17,6 +17,8 @@ #include "intel_engine_types.h" #include "intel_sseu.h" +#define CONTEXT_REDZONE POISON_INUSE + struct i915_gem_context; struct i915_vma; struct intel_context; diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c index 1b9f73948f22..ea90ab3e396e 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c @@ -37,8 +37,24 @@ static int __engine_unpark(struct intel_wakeref *wf) /* Discard stale context state from across idling */ ce = engine->kernel_context; - if (ce) + if (ce) { + GEM_BUG_ON(test_bit(CONTEXT_VALID_BIT, &ce->flags)); + + /* First poison the image to verify we never fully trust it */ + if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM) && ce->state) { + struct drm_i915_gem_object *obj = ce->state->obj; + int type = i915_coherent_map_type(engine->i915); + + map = i915_gem_object_pin_map(obj, type); + if (!IS_ERR(map)) { + memset(map, CONTEXT_REDZONE, obj->base.size); + i915_gem_object_flush_map(obj); + i915_gem_object_unpin_map(obj); + } + } + ce->ops->reset(ce); + } if (engine->unpark) engine->unpark(engine); diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index 6d26d84812b6..f81e70cfd194 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -2409,7 +2409,7 @@ set_redzone(void *vaddr, const struct intel_engine_cs *engine) vaddr += engine->context_size; - memset(vaddr, POISON_INUSE, I915_GTT_PAGE_SIZE); + memset(vaddr, CONTEXT_REDZONE, I915_GTT_PAGE_SIZE); } static void @@ -2420,7 +2420,7 @@ check_redzone(const void *vaddr, const struct intel_engine_cs *engine) vaddr += engine->context_size; - if (memchr_inv(vaddr, POISON_INUSE, I915_GTT_PAGE_SIZE)) + if (memchr_inv(vaddr, CONTEXT_REDZONE, I915_GTT_PAGE_SIZE)) dev_err_once(engine->i915->drm.dev, "%s context redzone overwritten!\n", engine->name); -- 2.25.0.rc0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 6/6] drm/i915/gt: Always poison the kernel_context image before unparking 2019-12-30 16:01 ` [Intel-gfx] [PATCH 6/6] drm/i915/gt: Always poison the kernel_context image before unparking Chris Wilson @ 2019-12-30 16:23 ` Mika Kuoppala 2019-12-30 16:25 ` Chris Wilson 0 siblings, 1 reply; 17+ messages in thread From: Mika Kuoppala @ 2019-12-30 16:23 UTC (permalink / raw) To: Chris Wilson, intel-gfx; +Cc: matthew.auld Chris Wilson <chris@chris-wilson.co.uk> writes: > Keep scrubbing the kernel_context image with poison before we reset it > in order to demonstrate that we will be resilient in the case where it > is accidentally overwritten on idle. > > Suggested-by: Imre Deak <imre.deak@intel.com> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Imre Deak <imre.deak@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_context_types.h | 2 ++ > drivers/gpu/drm/i915/gt/intel_engine_pm.c | 18 +++++++++++++++++- > drivers/gpu/drm/i915/gt/intel_lrc.c | 4 ++-- > 3 files changed, 21 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h b/drivers/gpu/drm/i915/gt/intel_context_types.h > index 9527a659546c..ca1420fb8b53 100644 > --- a/drivers/gpu/drm/i915/gt/intel_context_types.h > +++ b/drivers/gpu/drm/i915/gt/intel_context_types.h > @@ -17,6 +17,8 @@ > #include "intel_engine_types.h" > #include "intel_sseu.h" > > +#define CONTEXT_REDZONE POISON_INUSE > + > struct i915_gem_context; > struct i915_vma; > struct intel_context; > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > index 1b9f73948f22..ea90ab3e396e 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c > +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > @@ -37,8 +37,24 @@ static int __engine_unpark(struct intel_wakeref *wf) > > /* Discard stale context state from across idling */ > ce = engine->kernel_context; > - if (ce) > + if (ce) { > + GEM_BUG_ON(test_bit(CONTEXT_VALID_BIT, &ce->flags)); > + > + /* First poison the image to verify we never fully trust it */ > + if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM) && ce->state) { > + struct drm_i915_gem_object *obj = ce->state->obj; > + int type = i915_coherent_map_type(engine->i915); > + > + map = i915_gem_object_pin_map(obj, type); > + if (!IS_ERR(map)) { > + memset(map, CONTEXT_REDZONE, obj->base.size); Just pondering if the dword granularity would suffice. Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > + i915_gem_object_flush_map(obj); > + i915_gem_object_unpin_map(obj); > + } > + } > + > ce->ops->reset(ce); > + } > > if (engine->unpark) > engine->unpark(engine); > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index 6d26d84812b6..f81e70cfd194 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -2409,7 +2409,7 @@ set_redzone(void *vaddr, const struct intel_engine_cs *engine) > > vaddr += engine->context_size; > > - memset(vaddr, POISON_INUSE, I915_GTT_PAGE_SIZE); > + memset(vaddr, CONTEXT_REDZONE, I915_GTT_PAGE_SIZE); > } > > static void > @@ -2420,7 +2420,7 @@ check_redzone(const void *vaddr, const struct intel_engine_cs *engine) > > vaddr += engine->context_size; > > - if (memchr_inv(vaddr, POISON_INUSE, I915_GTT_PAGE_SIZE)) > + if (memchr_inv(vaddr, CONTEXT_REDZONE, I915_GTT_PAGE_SIZE)) > dev_err_once(engine->i915->drm.dev, > "%s context redzone overwritten!\n", > engine->name); > -- > 2.25.0.rc0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 6/6] drm/i915/gt: Always poison the kernel_context image before unparking 2019-12-30 16:23 ` Mika Kuoppala @ 2019-12-30 16:25 ` Chris Wilson 0 siblings, 0 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 16:25 UTC (permalink / raw) To: Mika Kuoppala, intel-gfx; +Cc: matthew.auld Quoting Mika Kuoppala (2019-12-30 16:23:20) > Chris Wilson <chris@chris-wilson.co.uk> writes: > > > Keep scrubbing the kernel_context image with poison before we reset it > > in order to demonstrate that we will be resilient in the case where it > > is accidentally overwritten on idle. > > > > Suggested-by: Imre Deak <imre.deak@intel.com> > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > Cc: Imre Deak <imre.deak@intel.com> > > --- > > drivers/gpu/drm/i915/gt/intel_context_types.h | 2 ++ > > drivers/gpu/drm/i915/gt/intel_engine_pm.c | 18 +++++++++++++++++- > > drivers/gpu/drm/i915/gt/intel_lrc.c | 4 ++-- > > 3 files changed, 21 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h b/drivers/gpu/drm/i915/gt/intel_context_types.h > > index 9527a659546c..ca1420fb8b53 100644 > > --- a/drivers/gpu/drm/i915/gt/intel_context_types.h > > +++ b/drivers/gpu/drm/i915/gt/intel_context_types.h > > @@ -17,6 +17,8 @@ > > #include "intel_engine_types.h" > > #include "intel_sseu.h" > > > > +#define CONTEXT_REDZONE POISON_INUSE > > + > > struct i915_gem_context; > > struct i915_vma; > > struct intel_context; > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > > index 1b9f73948f22..ea90ab3e396e 100644 > > --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c > > +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > > @@ -37,8 +37,24 @@ static int __engine_unpark(struct intel_wakeref *wf) > > > > /* Discard stale context state from across idling */ > > ce = engine->kernel_context; > > - if (ce) > > + if (ce) { > > + GEM_BUG_ON(test_bit(CONTEXT_VALID_BIT, &ce->flags)); > > + > > + /* First poison the image to verify we never fully trust it */ > > + if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM) && ce->state) { > > + struct drm_i915_gem_object *obj = ce->state->obj; > > + int type = i915_coherent_map_type(engine->i915); > > + > > + map = i915_gem_object_pin_map(obj, type); > > + if (!IS_ERR(map)) { > > + memset(map, CONTEXT_REDZONE, obj->base.size); > > Just pondering if the dword granularity would suffice. Pure debug, so convenience of memchr_inv() rules. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson ` (4 preceding siblings ...) 2019-12-30 16:01 ` [Intel-gfx] [PATCH 6/6] drm/i915/gt: Always poison the kernel_context image before unparking Chris Wilson @ 2019-12-30 16:03 ` Mika Kuoppala 2019-12-30 16:53 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] " Patchwork 6 siblings, 0 replies; 17+ messages in thread From: Mika Kuoppala @ 2019-12-30 16:03 UTC (permalink / raw) To: Chris Wilson, intel-gfx; +Cc: matthew.auld Chris Wilson <chris@chris-wilson.co.uk> writes: > When cleaning up the mock device, remember to flush the context worker > to free the residual GEM contexts before shutting down the device. > > Closes: https://gitlab.freedesktop.org/drm/intel/issues/802 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > --- > drivers/gpu/drm/i915/i915_gem.c | 4 ++-- > drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 ++ > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 9ddcf17230e6..a3d701b50a6b 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -1172,6 +1172,8 @@ void i915_gem_driver_remove(struct drm_i915_private *dev_priv) > > void i915_gem_driver_release(struct drm_i915_private *dev_priv) > { > + i915_gem_driver_release__contexts(dev_priv); > + > intel_gt_driver_release(&dev_priv->gt); > > intel_wa_list_free(&dev_priv->gt_wa_list); > @@ -1179,8 +1181,6 @@ void i915_gem_driver_release(struct drm_i915_private *dev_priv) > intel_uc_cleanup_firmwares(&dev_priv->gt.uc); > i915_gem_cleanup_userptr(dev_priv); > > - i915_gem_driver_release__contexts(dev_priv); > - > i915_gem_drain_freed_objects(dev_priv); > > WARN_ON(!list_empty(&dev_priv->gem.contexts.list)); > diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > index 2b01094e4318..3b8986983afc 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c > +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > @@ -58,6 +58,8 @@ static void mock_device_release(struct drm_device *dev) > mock_device_flush(i915); > intel_gt_driver_remove(&i915->gt); > > + i915_gem_driver_release__contexts(i915); > + > i915_gem_drain_workqueue(i915); > i915_gem_drain_freed_objects(i915); > > -- > 2.25.0.rc0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] drm/i915/selftests: Flush the context worker 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson ` (5 preceding siblings ...) 2019-12-30 16:03 ` [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Mika Kuoppala @ 2019-12-30 16:53 ` Patchwork 2019-12-30 17:08 ` Chris Wilson 6 siblings, 1 reply; 17+ messages in thread From: Patchwork @ 2019-12-30 16:53 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/6] drm/i915/selftests: Flush the context worker URL : https://patchwork.freedesktop.org/series/71497/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7656 -> Patchwork_15947 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_15947 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_15947, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_15947: ### IGT changes ### #### Possible regressions #### * igt@debugfs_test@read_all_entries: - fi-cml-s: [PASS][1] -> [SKIP][2] +21 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-s/igt@debugfs_test@read_all_entries.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-s/igt@debugfs_test@read_all_entries.html * igt@gem_ringfill@basic-default: - fi-icl-u2: [PASS][3] -> [SKIP][4] +63 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u2/igt@gem_ringfill@basic-default.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u2/igt@gem_ringfill@basic-default.html * igt@gem_ringfill@basic-default-forked: - fi-tgl-y: NOTRUN -> [SKIP][5] +65 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-y/igt@gem_ringfill@basic-default-forked.html * igt@gem_ringfill@basic-default-interruptible: - fi-icl-y: [PASS][6] -> [SKIP][7] +63 similar issues [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-y/igt@gem_ringfill@basic-default-interruptible.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-y/igt@gem_ringfill@basic-default-interruptible.html * igt@gem_sync@basic-all: - fi-icl-guc: [PASS][8] -> [SKIP][9] +63 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-guc/igt@gem_sync@basic-all.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-guc/igt@gem_sync@basic-all.html * igt@gem_sync@basic-each: - fi-cml-u2: [PASS][10] -> [SKIP][11] +63 similar issues [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-u2/igt@gem_sync@basic-each.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-u2/igt@gem_sync@basic-each.html * igt@gem_wait@basic-busy-all: - fi-icl-u3: [PASS][12] -> [SKIP][13] +63 similar issues [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u3/igt@gem_wait@basic-busy-all.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u3/igt@gem_wait@basic-busy-all.html * igt@i915_module_load@reload: - fi-kbl-8809g: [PASS][14] -> [DMESG-WARN][15] +1 similar issue [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-8809g/igt@i915_module_load@reload.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-8809g/igt@i915_module_load@reload.html - fi-cml-u2: [PASS][16] -> [DMESG-WARN][17] +1 similar issue [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-u2/igt@i915_module_load@reload.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-u2/igt@i915_module_load@reload.html - fi-cfl-8700k: [PASS][18] -> [DMESG-WARN][19] +1 similar issue [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cfl-8700k/igt@i915_module_load@reload.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cfl-8700k/igt@i915_module_load@reload.html - fi-apl-guc: [PASS][20] -> [DMESG-WARN][21] +1 similar issue [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-apl-guc/igt@i915_module_load@reload.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-apl-guc/igt@i915_module_load@reload.html - fi-bxt-dsi: [PASS][22] -> [DMESG-WARN][23] +1 similar issue [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-bxt-dsi/igt@i915_module_load@reload.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bxt-dsi/igt@i915_module_load@reload.html - fi-whl-u: [PASS][24] -> [DMESG-WARN][25] +1 similar issue [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-whl-u/igt@i915_module_load@reload.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-whl-u/igt@i915_module_load@reload.html - fi-skl-6600u: [PASS][26] -> [DMESG-WARN][27] +1 similar issue [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6600u/igt@i915_module_load@reload.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6600u/igt@i915_module_load@reload.html - fi-bsw-n3050: [PASS][28] -> [INCOMPLETE][29] [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-bsw-n3050/igt@i915_module_load@reload.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bsw-n3050/igt@i915_module_load@reload.html - fi-bdw-5557u: [PASS][30] -> [DMESG-WARN][31] [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-bdw-5557u/igt@i915_module_load@reload.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bdw-5557u/igt@i915_module_load@reload.html * igt@i915_module_load@reload-no-display: - fi-skl-6770hq: [PASS][32] -> [DMESG-WARN][33] +1 similar issue [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6770hq/igt@i915_module_load@reload-no-display.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6770hq/igt@i915_module_load@reload-no-display.html - fi-cfl-guc: [PASS][34] -> [DMESG-WARN][35] +1 similar issue [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cfl-guc/igt@i915_module_load@reload-no-display.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cfl-guc/igt@i915_module_load@reload-no-display.html - fi-skl-6700k2: [PASS][36] -> [DMESG-WARN][37] +1 similar issue [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6700k2/igt@i915_module_load@reload-no-display.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6700k2/igt@i915_module_load@reload-no-display.html - fi-cml-s: NOTRUN -> [DMESG-WARN][38] +1 similar issue [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-s/igt@i915_module_load@reload-no-display.html - fi-kbl-guc: [PASS][39] -> [DMESG-WARN][40] +1 similar issue [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-guc/igt@i915_module_load@reload-no-display.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-guc/igt@i915_module_load@reload-no-display.html - fi-skl-guc: [PASS][41] -> [DMESG-WARN][42] +1 similar issue [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-guc/igt@i915_module_load@reload-no-display.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-guc/igt@i915_module_load@reload-no-display.html - fi-bdw-5557u: [PASS][43] -> [INCOMPLETE][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-bdw-5557u/igt@i915_module_load@reload-no-display.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bdw-5557u/igt@i915_module_load@reload-no-display.html - fi-bsw-nick: [PASS][45] -> [DMESG-WARN][46] +1 similar issue [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-bsw-nick/igt@i915_module_load@reload-no-display.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bsw-nick/igt@i915_module_load@reload-no-display.html * igt@i915_pm_rpm@module-reload: - fi-tgl-y: NOTRUN -> [DMESG-WARN][47] +8 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-y/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_coherency: - fi-icl-guc: [PASS][48] -> [DMESG-FAIL][49] +6 similar issues [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-guc/igt@i915_selftest@live_coherency.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-guc/igt@i915_selftest@live_coherency.html * igt@i915_selftest@live_gt_contexts: - fi-icl-guc: [PASS][50] -> [DMESG-WARN][51] +24 similar issues [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-guc/igt@i915_selftest@live_gt_contexts.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-guc/igt@i915_selftest@live_gt_contexts.html * igt@i915_selftest@live_gt_engines: - fi-bsw-kefka: NOTRUN -> [DMESG-FAIL][52] +5 similar issues [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bsw-kefka/igt@i915_selftest@live_gt_engines.html - fi-tgl-y: NOTRUN -> [DMESG-FAIL][53] +3 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-y/igt@i915_selftest@live_gt_engines.html - fi-icl-u2: [PASS][54] -> [DMESG-FAIL][55] +6 similar issues [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u2/igt@i915_selftest@live_gt_engines.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u2/igt@i915_selftest@live_gt_engines.html * igt@i915_selftest@live_gt_mocs: - fi-icl-y: [PASS][56] -> [DMESG-FAIL][57] +6 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-y/igt@i915_selftest@live_gt_mocs.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-y/igt@i915_selftest@live_gt_mocs.html * igt@i915_selftest@live_gt_pm: - fi-icl-y: [PASS][58] -> [DMESG-WARN][59] +24 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-y/igt@i915_selftest@live_gt_pm.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-y/igt@i915_selftest@live_gt_pm.html * igt@i915_selftest@live_gt_timelines: - fi-icl-dsi: [PASS][60] -> [DMESG-WARN][61] +24 similar issues [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-dsi/igt@i915_selftest@live_gt_timelines.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-dsi/igt@i915_selftest@live_gt_timelines.html * igt@i915_selftest@live_hugepages: - fi-icl-u2: [PASS][62] -> [DMESG-WARN][63] +21 similar issues [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u2/igt@i915_selftest@live_hugepages.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u2/igt@i915_selftest@live_hugepages.html * igt@i915_selftest@live_late_gt_pm: - fi-bsw-kefka: NOTRUN -> [DMESG-WARN][64] +27 similar issues [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bsw-kefka/igt@i915_selftest@live_late_gt_pm.html * igt@i915_selftest@live_reset: - fi-icl-dsi: [PASS][65] -> [DMESG-FAIL][66] +6 similar issues [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-dsi/igt@i915_selftest@live_reset.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-dsi/igt@i915_selftest@live_reset.html * igt@i915_selftest@live_sanitycheck: - fi-icl-u3: [PASS][67] -> [DMESG-WARN][68] +24 similar issues [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u3/igt@i915_selftest@live_sanitycheck.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u3/igt@i915_selftest@live_sanitycheck.html * igt@i915_selftest@live_uncore: - fi-icl-u3: [PASS][69] -> [DMESG-FAIL][70] +6 similar issues [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u3/igt@i915_selftest@live_uncore.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u3/igt@i915_selftest@live_uncore.html * igt@prime_vgem@basic-fence-read: - fi-cml-s: NOTRUN -> [SKIP][71] +42 similar issues [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-s/igt@prime_vgem@basic-fence-read.html * igt@prime_vgem@basic-wait-default: - fi-icl-dsi: [PASS][72] -> [SKIP][73] +63 similar issues [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-dsi/igt@prime_vgem@basic-wait-default.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-dsi/igt@prime_vgem@basic-wait-default.html * igt@runner@aborted: - fi-bsw-nick: NOTRUN -> [FAIL][74] [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bsw-nick/igt@runner@aborted.html #### Warnings #### * igt@amdgpu/amd_prime@amd-to-i915: - fi-icl-u2: [SKIP][75] ([fdo#109315]) -> [SKIP][76] +1 similar issue [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u2/igt@amdgpu/amd_prime@amd-to-i915.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u2/igt@amdgpu/amd_prime@amd-to-i915.html - fi-icl-y: [SKIP][77] ([fdo#109315]) -> [SKIP][78] +1 similar issue [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-y/igt@amdgpu/amd_prime@amd-to-i915.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-y/igt@amdgpu/amd_prime@amd-to-i915.html - fi-icl-u3: [SKIP][79] ([fdo#109315]) -> [SKIP][80] +1 similar issue [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u3/igt@amdgpu/amd_prime@amd-to-i915.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u3/igt@amdgpu/amd_prime@amd-to-i915.html - fi-icl-guc: [SKIP][81] ([fdo#109315]) -> [SKIP][82] +1 similar issue [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-guc/igt@amdgpu/amd_prime@amd-to-i915.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-guc/igt@amdgpu/amd_prime@amd-to-i915.html * igt@amdgpu/amd_prime@i915-to-amd: - fi-icl-dsi: [SKIP][83] ([fdo#109315]) -> [SKIP][84] +1 similar issue [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-dsi/igt@amdgpu/amd_prime@i915-to-amd.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-dsi/igt@amdgpu/amd_prime@i915-to-amd.html - fi-cml-u2: [SKIP][85] ([fdo#109315]) -> [SKIP][86] +1 similar issue [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-u2/igt@amdgpu/amd_prime@i915-to-amd.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-u2/igt@amdgpu/amd_prime@i915-to-amd.html * igt@gem_exec_suspend@basic-s3: - fi-cml-s: [DMESG-WARN][87] ([fdo#111764]) -> [SKIP][88] [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-s/igt@gem_exec_suspend@basic-s3.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-s/igt@gem_exec_suspend@basic-s3.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@amdgpu/amd_prime@i915-to-amd: - {fi-tgl-guc}: [SKIP][89] ([fdo#109315]) -> [SKIP][90] +1 similar issue [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-tgl-guc/igt@amdgpu/amd_prime@i915-to-amd.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-guc/igt@amdgpu/amd_prime@i915-to-amd.html * igt@gem_ctx_create@basic: - {fi-tgl-guc}: [PASS][91] -> [SKIP][92] +62 similar issues [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-tgl-guc/igt@gem_ctx_create@basic.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-guc/igt@gem_ctx_create@basic.html * igt@i915_module_load@reload: - {fi-kbl-7560u}: NOTRUN -> [DMESG-WARN][93] +1 similar issue [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-7560u/igt@i915_module_load@reload.html * igt@i915_selftest@live_gt_timelines: - {fi-tgl-guc}: [PASS][94] -> [DMESG-WARN][95] +8 similar issues [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-tgl-guc/igt@i915_selftest@live_gt_timelines.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-guc/igt@i915_selftest@live_gt_timelines.html * igt@i915_selftest@live_uncore: - {fi-tgl-guc}: [PASS][96] -> [DMESG-FAIL][97] +3 similar issues [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-tgl-guc/igt@i915_selftest@live_uncore.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-guc/igt@i915_selftest@live_uncore.html * igt@kms_busy@basic-flip-pipe-a: - {fi-tgl-guc}: [DMESG-WARN][98] ([i915#402]) -> [SKIP][99] [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-tgl-guc/igt@kms_busy@basic-flip-pipe-a.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-tgl-guc/igt@kms_busy@basic-flip-pipe-a.html Known issues ------------ Here are the changes found in Patchwork_15947 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_busy@busy-all: - fi-bsw-nick: [PASS][100] -> [SKIP][101] ([fdo#109271]) +54 similar issues [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-bsw-nick/igt@gem_busy@busy-all.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bsw-nick/igt@gem_busy@busy-all.html * igt@gem_close_race@basic-threads: - fi-skl-6600u: [PASS][102] -> [SKIP][103] ([fdo#109271]) +63 similar issues [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6600u/igt@gem_close_race@basic-threads.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6600u/igt@gem_close_race@basic-threads.html * igt@gem_ctx_switch@legacy-render: - fi-apl-guc: [PASS][104] -> [SKIP][105] ([fdo#109271]) +63 similar issues [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-apl-guc/igt@gem_ctx_switch@legacy-render.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-apl-guc/igt@gem_ctx_switch@legacy-render.html * igt@gem_exec_basic@basic-all: - fi-cfl-guc: [PASS][106] -> [SKIP][107] ([fdo#109271]) +63 similar issues [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cfl-guc/igt@gem_exec_basic@basic-all.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cfl-guc/igt@gem_exec_basic@basic-all.html - fi-skl-6770hq: [PASS][108] -> [SKIP][109] ([fdo#109271]) +63 similar issues [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6770hq/igt@gem_exec_basic@basic-all.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6770hq/igt@gem_exec_basic@basic-all.html * igt@gem_exec_fence@basic-wait-default: - fi-bxt-dsi: [PASS][110] -> [SKIP][111] ([fdo#109271]) +62 similar issues [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-bxt-dsi/igt@gem_exec_fence@basic-wait-default.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-bxt-dsi/igt@gem_exec_fence@basic-wait-default.html * igt@gem_exec_gttfill@basic: - fi-kbl-x1275: [PASS][112] -> [SKIP][113] ([fdo#109271]) +51 similar issues [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-x1275/igt@gem_exec_gttfill@basic.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-x1275/igt@gem_exec_gttfill@basic.html * igt@gem_exec_suspend@basic-s3: - fi-kbl-8809g: [PASS][114] -> [SKIP][115] ([fdo#109271]) +55 similar issues [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-8809g/igt@gem_exec_suspend@basic-s3.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-8809g/igt@gem_exec_suspend@basic-s3.html * igt@gem_render_linear_blits@basic: - fi-cfl-8700k: [PASS][116] -> [SKIP][117] ([fdo#109271]) +63 similar issues [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cfl-8700k/igt@gem_render_linear_blits@basic.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cfl-8700k/igt@gem_render_linear_blits@basic.html * igt@gem_ringfill@basic-default: - fi-skl-6700k2: [PASS][118] -> [SKIP][119] ([fdo#109271]) +63 similar issues [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6700k2/igt@gem_ringfill@basic-default.html [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6700k2/igt@gem_ringfill@basic-default.html * igt@gem_sync@basic-each: - fi-whl-u: [PASS][120] -> [SKIP][121] ([fdo#109271]) +63 similar issues [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-whl-u/igt@gem_sync@basic-each.html [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-whl-u/igt@gem_sync@basic-each.html * igt@i915_module_load@reload-no-display: - fi-kbl-x1275: [PASS][122] -> [DMESG-WARN][123] ([i915#62] / [i915#92]) [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-x1275/igt@i915_module_load@reload-no-display.html [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-x1275/igt@i915_module_load@reload-no-display.html * igt@i915_module_load@reload-with-fault-injection: - fi-kbl-8809g: [PASS][124] -> [DMESG-WARN][125] ([i915#889]) +1 similar issue [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-8809g/igt@i915_module_load@reload-with-fault-injection.html [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-8809g/igt@i915_module_load@reload-with-fault-injection.html * igt@i915_pm_rpm@module-reload: - fi-skl-6600u: [PASS][126] -> [DMESG-WARN][127] ([i915#889]) +23 similar issues [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_blt: - fi-ivb-3770: [PASS][128] -> [DMESG-FAIL][129] ([i915#563]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-ivb-3770/igt@i915_selftest@live_blt.html [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-ivb-3770/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_client: - fi-skl-guc: [PASS][130] -> [DMESG-WARN][131] ([i915#889]) +23 similar issues [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-guc/igt@i915_selftest@live_client.html [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-guc/igt@i915_selftest@live_client.html - fi-kbl-guc: [PASS][132] -> [DMESG-WARN][133] ([i915#889]) +23 similar issues [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-guc/igt@i915_selftest@live_client.html [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-guc/igt@i915_selftest@live_client.html * igt@i915_selftest@live_coherency: - fi-cfl-guc: [PASS][134] -> [DMESG-FAIL][135] ([i915#889]) +7 similar issues [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cfl-guc/igt@i915_selftest@live_coherency.html [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cfl-guc/igt@i915_selftest@live_coherency.html * igt@i915_selftest@live_evict: - fi-cml-u2: [PASS][136] -> [DMESG-WARN][137] ([i915#889]) +23 similar issues [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-u2/igt@i915_selftest@live_evict.html [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-u2/igt@i915_selftest@live_evict.html * igt@i915_selftest@live_gem_contexts: - fi-apl-guc: [PASS][138] -> [DMESG-WARN][139] ([i915#889]) +23 similar issues [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-apl-guc/igt@i915_selftest@live_gem_contexts.html [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-apl-guc/igt@i915_selftest@live_gem_contexts.html * igt@i915_selftest@live_gt_engines: - fi-kbl-guc: [PASS][140] -> [DMESG-FAIL][141] ([i915#889]) +7 similar issues [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-kbl-guc/igt@i915_selftest@live_gt_engines.html [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-kbl-guc/igt@i915_selftest@live_gt_engines.html * igt@i915_selftest@live_gt_lrc: - fi-whl-u: [PASS][142] -> [DMESG-FAIL][143] ([i915#889]) +7 similar issues [142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-whl-u/igt@i915_selftest@live_gt_lrc.html [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-whl-u/igt@i915_selftest@live_gt_lrc.html - fi-skl-6600u: [PASS][144] -> [DMESG-FAIL][145] ([i915#889]) +7 similar issues [144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-6600u/igt@i915_selftest@live_gt_lrc.html [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-6600u/igt@i915_selftest@live_gt_lrc.html * igt@i915_selftest@live_gt_timelines: - fi-cfl-guc: [PASS][146] -> [DMESG-WARN][147] ([i915#889]) +23 similar issues [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cfl-guc/igt@i915_selftest@live_gt_timelines.html [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cfl-guc/igt@i915_selftest@live_gt_timelines.html * igt@i915_selftest@live_gtt: - fi-skl-guc: [PASS][148] -> [DMESG-FAIL][149] ([i915#889]) +7 similar issues [148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-skl-guc/igt@i915_selftest@live_gtt.html [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-skl-guc/igt@i915_selftest@live_gtt.html * igt@i915_selftest@live_hangcheck: - fi-icl-y: [PASS][150] -> [DMESG-FAIL][151] ([i915#419]) [150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-y/igt@i915_selftest@live_hangcheck.html [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-y/igt@i915_selftest@live_hangcheck.html - fi-icl-u2: [PASS][152] -> [DMESG-FAIL][153] ([i915#419]) [152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u2/igt@i915_selftest@live_hangcheck.html [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u2/igt@i915_selftest@live_hangcheck.html - fi-icl-dsi: [PASS][154] -> [DMESG-FAIL][155] ([i915#419]) [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html - fi-icl-guc: [PASS][156] -> [DMESG-FAIL][157] ([i915#419]) [156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-guc/igt@i915_selftest@live_hangcheck.html [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-guc/igt@i915_selftest@live_hangcheck.html - fi-icl-u3: [PASS][158] -> [DMESG-FAIL][159] ([i915#419]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u3/igt@i915_selftest@live_hangcheck.html [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u3/igt@i915_selftest@live_hangcheck.html * igt@i915_selftest@live_requests: - fi-icl-guc: [PASS][160] -> [DMESG-WARN][161] ([fdo#109644] / [fdo#110464]) [160]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-guc/igt@i915_selftest@live_requests.html [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-guc/igt@i915_selftest@live_requests.html - fi-icl-dsi: [PASS][162] -> [DMESG-WARN][163] ([fdo#109644] / [fdo#110464]) [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-dsi/igt@i915_selftest@live_requests.html [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-dsi/igt@i915_selftest@live_requests.html - fi-icl-u2: [PASS][164] -> [DMESG-WARN][165] ([fdo#109644] / [fdo#110464]) [164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u2/igt@i915_selftest@live_requests.html [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u2/igt@i915_selftest@live_requests.html - fi-icl-y: [PASS][166] -> [DMESG-WARN][167] ([fdo#109644] / [fdo#110464]) [166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-y/igt@i915_selftest@live_requests.html [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-y/igt@i915_selftest@live_requests.html - fi-icl-u3: [PASS][168] -> [DMESG-WARN][169] ([fdo#109644] / [fdo#110464]) [168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-icl-u3/igt@i915_selftest@live_requests.html [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-icl-u3/igt@i915_selftest@live_requests.html * igt@i915_selftest@live_reset: - fi-apl-guc: [PASS][170] -> [DMESG-FAIL][171] ([i915#889]) +7 similar issues [170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-apl-guc/igt@i915_selftest@live_reset.html [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-apl-guc/igt@i915_selftest@live_reset.html - fi-cml-u2: [PASS][172] -> [DMESG-FAIL][173] ([i915#889]) +7 similar issues [172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-u2/igt@i915_selftest@live_reset.html [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-u2/igt@i915_selftest@live_reset.html * igt@i915_selftest@live_sanitycheck: - fi-whl-u: [PASS][174] -> [DMESG-WARN][175] ([i915#889]) +23 similar issues [174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-whl-u/ig == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] drm/i915/selftests: Flush the context worker 2019-12-30 16:53 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] " Patchwork @ 2019-12-30 17:08 ` Chris Wilson 0 siblings, 0 replies; 17+ messages in thread From: Chris Wilson @ 2019-12-30 17:08 UTC (permalink / raw) To: Patchwork, intel-gfx; +Cc: intel-gfx Quoting Patchwork (2019-12-30 16:53:38) > == Series Details == > > Series: series starting with [1/6] drm/i915/selftests: Flush the context worker > URL : https://patchwork.freedesktop.org/series/71497/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_7656 -> Patchwork_15947 > ==================================================== > > Summary > ------- > > **FAILURE** > > Serious unknown changes coming with Patchwork_15947 absolutely need to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_15947, please notify your bug team to allow them > to document this new failure mode, which will reduce false positives in CI. > > External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/index.html > > Possible new issues > ------------------- > > Here are the unknown changes that may have been introduced in Patchwork_15947: > > ### IGT changes ### > > #### Possible regressions #### > > * igt@debugfs_test@read_all_entries: > - fi-cml-s: [PASS][1] -> [SKIP][2] +21 similar issues > [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7656/fi-cml-s/igt@debugfs_test@read_all_entries.html > [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15947/fi-cml-s/igt@debugfs_test@read_all_entries.html IPEHR: 0x5a5a5a5a Didn't clear enough... -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2019-12-30 17:08 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-12-30 16:01 [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 2/6] drm/i915/gt: Clear LRC image inline Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 3/6] drm/i915/gt: Leave RING_BB_STATE to default value Chris Wilson 2019-12-30 16:13 ` Chris Wilson 2019-12-30 16:18 ` Mika Kuoppala 2019-12-30 16:01 ` [Intel-gfx] [PATCH 4/6] drm/i915/gt: Ignore stale context state upon resume Chris Wilson 2019-12-30 16:14 ` Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 5/6] drm/i915/gt: Discard stale context state from across idling Chris Wilson 2019-12-30 16:26 ` Chris Wilson 2019-12-30 16:30 ` Mika Kuoppala 2019-12-30 16:36 ` Chris Wilson 2019-12-30 16:01 ` [Intel-gfx] [PATCH 6/6] drm/i915/gt: Always poison the kernel_context image before unparking Chris Wilson 2019-12-30 16:23 ` Mika Kuoppala 2019-12-30 16:25 ` Chris Wilson 2019-12-30 16:03 ` [Intel-gfx] [PATCH 1/6] drm/i915/selftests: Flush the context worker Mika Kuoppala 2019-12-30 16:53 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] " Patchwork 2019-12-30 17:08 ` Chris Wilson
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.