* [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing @ 2020-02-14 23:19 Chris Wilson 2020-02-14 23:19 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: Yield the timeslice if caught waiting on a user semaphore Chris Wilson ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: Chris Wilson @ 2020-02-14 23:19 UTC (permalink / raw) To: intel-gfx; +Cc: Kenneth Graunke Let userspace know if they can trust timeslicing by including it as part of the I915_PARAM_HAS_SCHEDULER::I915_SCHEDULER_CAP_TIMESLICING Fixes: 8ee36e048c98 ("drm/i915/execlists: Minimalistic timeslicing") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Kenneth Graunke <kenneth@whitecape.org> --- drivers/gpu/drm/i915/gt/intel_engine_user.c | 1 + include/uapi/drm/i915_drm.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/intel_engine_user.c b/drivers/gpu/drm/i915/gt/intel_engine_user.c index 848decee9066..760e586b7535 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_user.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_user.c @@ -98,6 +98,7 @@ static void set_scheduler_caps(struct drm_i915_private *i915) MAP(HAS_PREEMPTION, PREEMPTION), MAP(HAS_SEMAPHORES, SEMAPHORES), MAP(SUPPORTS_STATS, ENGINE_BUSY_STATS), + MAP(HAS_SEMAPHORES, TIMESLICES), #undef MAP }; struct intel_engine_cs *engine; diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index 829c0a48577f..4dc821ff2333 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -523,6 +523,7 @@ typedef struct drm_i915_irq_wait { #define I915_SCHEDULER_CAP_PREEMPTION (1ul << 2) #define I915_SCHEDULER_CAP_SEMAPHORES (1ul << 3) #define I915_SCHEDULER_CAP_ENGINE_BUSY_STATS (1ul << 4) +#define I915_SCHEDULER_CAP_TIMESLICES (1ul << 5) #define I915_PARAM_HUC_STATUS 42 -- 2.25.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Intel-gfx] [PATCH 2/2] drm/i915/gt: Yield the timeslice if caught waiting on a user semaphore 2020-02-14 23:19 [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson @ 2020-02-14 23:19 ` Chris Wilson 2020-02-14 23:41 ` [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Chris Wilson @ 2020-02-14 23:19 UTC (permalink / raw) To: intel-gfx; +Cc: Kenneth Graunke If we find ourselves waiting on a MI_SEMAPHORE_WAIT, either within the user batch or in our own preamble, the engine raises a GT_WAIT_ON_SEMAPHORE interrupt. We can unmask that interrupt and so respond to a semaphore wait by yielding the timeslice, if we have another context to yield to! The only real complication is that the interrupt is only generated for the start of the semaphore wait, and is asynchronous to our process_csb() -- that is, we may not have registered the timeslice before we see the interrupt. To ensure we don't miss a potential semaphore blocking forward progress (e.g. selftests/live_timeslice_preempt) we mark the interrupt and apply it to the next timeslice regardless of whether it was active at the time. v2: We use semaphores in preempt-to-busy, within the timeslicing implementation itself! Ergo, when we do insert a preemption due to an expired timeslice, the new context may start with the missed semaphore flagged by the retired context and be yielded, ad infinitum. To avoid this, read the context id at the time of the semaphore interrupt and only yield if that context is still active. Fixes: 8ee36e048c98 ("drm/i915/execlists: Minimalistic timeslicing") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Kenneth Graunke <kenneth@whitecape.org> --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 6 +++ drivers/gpu/drm/i915/gt/intel_engine_types.h | 9 +++++ drivers/gpu/drm/i915/gt/intel_gt_irq.c | 13 ++++++- drivers/gpu/drm/i915/gt/intel_lrc.c | 40 +++++++++++++++++--- drivers/gpu/drm/i915/i915_reg.h | 1 + 5 files changed, 61 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index f6f5e1ec48fc..89f201a5a219 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -1288,6 +1288,12 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine, if (engine->id == RENDER_CLASS && IS_GEN_RANGE(dev_priv, 4, 7)) drm_printf(m, "\tCCID: 0x%08x\n", ENGINE_READ(engine, CCID)); + if (HAS_EXECLISTS(dev_priv)) { + drm_printf(m, "\tEL_STAT_HI: 0x%08x\n", + ENGINE_READ(engine, RING_EXECLIST_STATUS_HI)); + drm_printf(m, "\tEL_STAT_LO: 0x%08x\n", + ENGINE_READ(engine, RING_EXECLIST_STATUS_LO)); + } drm_printf(m, "\tRING_START: 0x%08x\n", ENGINE_READ(engine, RING_START)); drm_printf(m, "\tRING_HEAD: 0x%08x\n", diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h index b23366a81048..24cff658e6e5 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_types.h +++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h @@ -156,6 +156,15 @@ struct intel_engine_execlists { */ struct i915_priolist default_priolist; + /** + * @yield: CCID at the time of the last semaphore-wait interrupt. + * + * Instead of leaving a semaphore busy-spinning on an engine, we would + * like to switch to another ready context, i.e. yielding the semaphore + * timeslice. + */ + u32 yield; + /** * @error_interrupt: CS Master EIR * diff --git a/drivers/gpu/drm/i915/gt/intel_gt_irq.c b/drivers/gpu/drm/i915/gt/intel_gt_irq.c index f0e7fd95165a..875bd0392ffc 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_irq.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_irq.c @@ -39,6 +39,13 @@ cs_irq_handler(struct intel_engine_cs *engine, u32 iir) } } + if (iir & GT_WAIT_SEMAPHORE_INTERRUPT) { + WRITE_ONCE(engine->execlists.yield, + ENGINE_READ_FW(engine, RING_EXECLIST_STATUS_HI)); + if (del_timer(&engine->execlists.timer)) + tasklet = true; + } + if (iir & GT_CONTEXT_SWITCH_INTERRUPT) tasklet = true; @@ -228,7 +235,8 @@ void gen11_gt_irq_postinstall(struct intel_gt *gt) const u32 irqs = GT_CS_MASTER_ERROR_INTERRUPT | GT_RENDER_USER_INTERRUPT | - GT_CONTEXT_SWITCH_INTERRUPT; + GT_CONTEXT_SWITCH_INTERRUPT | + GT_WAIT_SEMAPHORE_INTERRUPT; struct intel_uncore *uncore = gt->uncore; const u32 dmask = irqs << 16 | irqs; const u32 smask = irqs << 16; @@ -366,7 +374,8 @@ void gen8_gt_irq_postinstall(struct intel_gt *gt) const u32 irqs = GT_CS_MASTER_ERROR_INTERRUPT | GT_RENDER_USER_INTERRUPT | - GT_CONTEXT_SWITCH_INTERRUPT; + GT_CONTEXT_SWITCH_INTERRUPT | + GT_WAIT_SEMAPHORE_INTERRUPT; const u32 gt_interrupts[] = { irqs << GEN8_RCS_IRQ_SHIFT | irqs << GEN8_BCS_IRQ_SHIFT, irqs << GEN8_VCS0_IRQ_SHIFT | irqs << GEN8_VCS1_IRQ_SHIFT, diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index c3d7727021db..c2656de78ede 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -1685,7 +1685,8 @@ static void defer_active(struct intel_engine_cs *engine) } static bool -need_timeslice(struct intel_engine_cs *engine, const struct i915_request *rq) +need_timeslice(const struct intel_engine_cs *engine, + const struct i915_request *rq) { int hint; @@ -1701,6 +1702,31 @@ need_timeslice(struct intel_engine_cs *engine, const struct i915_request *rq) return hint >= effective_prio(rq); } +static bool +timeslice_yield(const struct intel_engine_execlists *el, + const struct i915_request *rq) +{ + /* + * Once bitten, forever smitten! + * + * If the active context ever busy-waited on a semaphore, + * it will be treated as a hog until the end of its timeslice. + * The HW only sends an interrupt on the first miss, and we + * do know if that semaphore has been signaled, or even if it + * is now stuck on another semaphore. Play safe, yield if it + * might be stuck -- it will be given a fresh timeslice in + * the near future. + */ + return upper_32_bits(rq->context->lrc_desc) == READ_ONCE(el->yield); +} + +static bool +timeslice_expired(const struct intel_engine_execlists *el, + const struct i915_request *rq) +{ + return timer_expired(&el->timer) || timeslice_yield(el, rq); +} + static int switch_prio(struct intel_engine_cs *engine, const struct i915_request *rq) { @@ -1716,8 +1742,7 @@ timeslice(const struct intel_engine_cs *engine) return READ_ONCE(engine->props.timeslice_duration_ms); } -static unsigned long -active_timeslice(const struct intel_engine_cs *engine) +static unsigned long active_timeslice(const struct intel_engine_cs *engine) { const struct i915_request *rq = *engine->execlists.active; @@ -1860,13 +1885,14 @@ static void execlists_dequeue(struct intel_engine_cs *engine) last = NULL; } else if (need_timeslice(engine, last) && - timer_expired(&engine->execlists.timer)) { + timeslice_expired(execlists, last)) { ENGINE_TRACE(engine, - "expired last=%llx:%lld, prio=%d, hint=%d\n", + "expired last=%llx:%lld, prio=%d, hint=%d, yield?=%s\n", last->fence.context, last->fence.seqno, last->sched.attr.priority, - execlists->queue_priority_hint); + execlists->queue_priority_hint, + yesno(timeslice_yield(execlists, last))); ring_set_paused(engine, 1); defer_active(engine); @@ -2126,6 +2152,7 @@ static void execlists_dequeue(struct intel_engine_cs *engine) } clear_ports(port + 1, last_port - port); + WRITE_ONCE(execlists->yield, -1); execlists_submit_ports(engine); set_preempt_timeout(engine); } else { @@ -4366,6 +4393,7 @@ logical_ring_default_irqs(struct intel_engine_cs *engine) engine->irq_enable_mask = GT_RENDER_USER_INTERRUPT << shift; engine->irq_keep_mask = GT_CONTEXT_SWITCH_INTERRUPT << shift; engine->irq_keep_mask |= GT_CS_MASTER_ERROR_INTERRUPT << shift; + engine->irq_keep_mask |= GT_WAIT_SEMAPHORE_INTERRUPT << shift; } static void rcs_submission_override(struct intel_engine_cs *engine) diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index b09c1d6dc0aa..0f1fcc863f3d 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -3090,6 +3090,7 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg) #define GT_BSD_CS_ERROR_INTERRUPT (1 << 15) #define GT_BSD_USER_INTERRUPT (1 << 12) #define GT_RENDER_L3_PARITY_ERROR_INTERRUPT_S1 (1 << 11) /* hsw+; rsvd on snb, ivb, vlv */ +#define GT_WAIT_SEMAPHORE_INTERRUPT REG_BIT(11) /* bdw+ */ #define GT_CONTEXT_SWITCH_INTERRUPT (1 << 8) #define GT_RENDER_L3_PARITY_ERROR_INTERRUPT (1 << 5) /* !snb */ #define GT_RENDER_PIPECTL_NOTIFY_INTERRUPT (1 << 4) -- 2.25.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing 2020-02-14 23:19 [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson 2020-02-14 23:19 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: Yield the timeslice if caught waiting on a user semaphore Chris Wilson @ 2020-02-14 23:41 ` Chris Wilson 2020-02-15 0:00 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] " Patchwork 2020-02-18 6:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Chris Wilson @ 2020-02-14 23:41 UTC (permalink / raw) To: intel-gfx; +Cc: Kenneth Graunke Quoting Chris Wilson (2020-02-14 23:19:16) > Let userspace know if they can trust timeslicing by including it as part > of the I915_PARAM_HAS_SCHEDULER::I915_SCHEDULER_CAP_TIMESLICING > > Fixes: 8ee36e048c98 ("drm/i915/execlists: Minimalistic timeslicing") > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Kenneth Graunke <kenneth@whitecape.org> > --- > drivers/gpu/drm/i915/gt/intel_engine_user.c | 1 + > include/uapi/drm/i915_drm.h | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_user.c b/drivers/gpu/drm/i915/gt/intel_engine_user.c > index 848decee9066..760e586b7535 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_user.c > +++ b/drivers/gpu/drm/i915/gt/intel_engine_user.c > @@ -98,6 +98,7 @@ static void set_scheduler_caps(struct drm_i915_private *i915) > MAP(HAS_PREEMPTION, PREEMPTION), > MAP(HAS_SEMAPHORES, SEMAPHORES), > MAP(SUPPORTS_STATS, ENGINE_BUSY_STATS), > + MAP(HAS_SEMAPHORES, TIMESLICES), Strictly we want HAS_PREEMPTION && HAS_SEMAPHORES before we tell userspace it can safely rely on timeslicing to yield from MI_SEMAPHORE_WAIT. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gt: Declare when we enabled timeslicing 2020-02-14 23:19 [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson 2020-02-14 23:19 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: Yield the timeslice if caught waiting on a user semaphore Chris Wilson 2020-02-14 23:41 ` [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson @ 2020-02-15 0:00 ` Patchwork 2020-02-18 6:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2020-02-15 0:00 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915/gt: Declare when we enabled timeslicing URL : https://patchwork.freedesktop.org/series/73489/ State : success == Summary == CI Bug Log - changes from CI_DRM_7943 -> Patchwork_16579 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/index.html Known issues ------------ Here are the changes found in Patchwork_16579 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live_gem_contexts: - fi-cfl-guc: [PASS][1] -> [INCOMPLETE][2] ([CI#80] / [fdo#106070] / [i915#424]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html * igt@i915_selftest@live_gt_heartbeat: - fi-kbl-7500u: [PASS][3] -> [DMESG-FAIL][4] ([fdo#112406]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/fi-kbl-7500u/igt@i915_selftest@live_gt_heartbeat.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/fi-kbl-7500u/igt@i915_selftest@live_gt_heartbeat.html #### Possible fixes #### * igt@gem_exec_parallel@basic: - {fi-ehl-1}: [FAIL][5] ([i915#996]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/fi-ehl-1/igt@gem_exec_parallel@basic.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/fi-ehl-1/igt@gem_exec_parallel@basic.html * igt@i915_selftest@live_active: - fi-icl-y: [DMESG-FAIL][7] ([i915#765]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/fi-icl-y/igt@i915_selftest@live_active.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/fi-icl-y/igt@i915_selftest@live_active.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [CI#80]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/80 [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070 [fdo#112406]: https://bugs.freedesktop.org/show_bug.cgi?id=112406 [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424 [i915#765]: https://gitlab.freedesktop.org/drm/intel/issues/765 [i915#996]: https://gitlab.freedesktop.org/drm/intel/issues/996 Participating hosts (41 -> 41) ------------------------------ Additional (6): fi-kbl-soraka fi-bsw-n3050 fi-hsw-peppy fi-cfl-8109u fi-skl-lmem fi-blb-e6850 Missing (6): fi-hsw-4200u fi-byt-squawks fi-ctg-p8600 fi-gdg-551 fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7943 -> Patchwork_16579 CI-20190529: 20190529 CI_DRM_7943: 865945b076689b2e99bc1c52fad95cec05cff9ed @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5442: 3f6080996885b997685f08ecb8b416b2dc485290 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16579: 25daabe03b8615a03eea700db755531ac0b93a4c @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 25daabe03b86 drm/i915/gt: Yield the timeslice if caught waiting on a user semaphore 777ee926f053 drm/i915/gt: Declare when we enabled timeslicing == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915/gt: Declare when we enabled timeslicing 2020-02-14 23:19 [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson ` (2 preceding siblings ...) 2020-02-15 0:00 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] " Patchwork @ 2020-02-18 6:25 ` Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2020-02-18 6:25 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915/gt: Declare when we enabled timeslicing URL : https://patchwork.freedesktop.org/series/73489/ State : success == Summary == CI Bug Log - changes from CI_DRM_7943_full -> Patchwork_16579_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_16579_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_balancer@smoke: - shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#110854]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb1/igt@gem_exec_balancer@smoke.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb3/igt@gem_exec_balancer@smoke.html * igt@gem_exec_parallel@vcs1-fds: - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#112080]) +19 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb4/igt@gem_exec_parallel@vcs1-fds.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb6/igt@gem_exec_parallel@vcs1-fds.html * igt@gem_exec_schedule@pi-common-bsd: - shard-iclb: [PASS][5] -> [SKIP][6] ([i915#677]) +1 similar issue [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb6/igt@gem_exec_schedule@pi-common-bsd.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb4/igt@gem_exec_schedule@pi-common-bsd.html * igt@gem_exec_schedule@preemptive-hang-bsd: - shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#112146]) +6 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb7/igt@gem_exec_schedule@preemptive-hang-bsd.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html * igt@gem_linear_blits@interruptible: - shard-hsw: [PASS][9] -> [FAIL][10] ([i915#694]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-hsw7/igt@gem_linear_blits@interruptible.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-hsw5/igt@gem_linear_blits@interruptible.html * igt@gem_ppgtt@flink-and-close-vma-leak: - shard-apl: [PASS][11] -> [FAIL][12] ([i915#644]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-apl3/igt@gem_ppgtt@flink-and-close-vma-leak.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-apl6/igt@gem_ppgtt@flink-and-close-vma-leak.html * igt@i915_pm_dc@dc6-dpms: - shard-iclb: [PASS][13] -> [FAIL][14] ([i915#454]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb1/igt@i915_pm_dc@dc6-dpms.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_rps@reset: - shard-iclb: [PASS][15] -> [FAIL][16] ([i915#413]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb3/igt@i915_pm_rps@reset.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb8/igt@i915_pm_rps@reset.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-kbl: [PASS][17] -> [DMESG-WARN][18] ([i915#180]) +1 similar issue [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-kbl7/igt@i915_suspend@fence-restore-tiled2untiled.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-kbl7/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_cursor_crc@pipe-b-cursor-suspend: - shard-apl: [PASS][19] -> [DMESG-WARN][20] ([i915#180]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-apl8/igt@kms_cursor_crc@pipe-b-cursor-suspend.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-apl2/igt@kms_cursor_crc@pipe-b-cursor-suspend.html * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: [PASS][21] -> [FAIL][22] ([i915#79]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-skl3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-skl3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html * igt@kms_flip@plain-flip-fb-recreate-interruptible: - shard-glk: [PASS][23] -> [FAIL][24] ([i915#34]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-glk6/igt@kms_flip@plain-flip-fb-recreate-interruptible.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-glk6/igt@kms_flip@plain-flip-fb-recreate-interruptible.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw: - shard-tglb: [PASS][25] -> [SKIP][26] ([i915#668]) +3 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html * igt@kms_plane_lowres@pipe-a-tiling-x: - shard-glk: [PASS][27] -> [FAIL][28] ([i915#899]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-glk9/igt@kms_plane_lowres@pipe-a-tiling-x.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-glk2/igt@kms_plane_lowres@pipe-a-tiling-x.html * igt@kms_psr2_su@page_flip: - shard-iclb: [PASS][29] -> [SKIP][30] ([fdo#109642] / [fdo#111068]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb2/igt@kms_psr2_su@page_flip.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb8/igt@kms_psr2_su@page_flip.html * igt@kms_psr@psr2_sprite_mmap_cpu: - shard-iclb: [PASS][31] -> [SKIP][32] ([fdo#109441]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_cpu.html * igt@perf_pmu@cpu-hotplug: - shard-hsw: [PASS][33] -> [INCOMPLETE][34] ([i915#1176] / [i915#61]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-hsw7/igt@perf_pmu@cpu-hotplug.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-hsw5/igt@perf_pmu@cpu-hotplug.html * igt@prime_busy@hang-bsd2: - shard-iclb: [PASS][35] -> [SKIP][36] ([fdo#109276]) +17 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb4/igt@prime_busy@hang-bsd2.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb6/igt@prime_busy@hang-bsd2.html #### Possible fixes #### * igt@gem_busy@busy-vcs1: - shard-iclb: [SKIP][37] ([fdo#112080]) -> [PASS][38] +7 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb8/igt@gem_busy@busy-vcs1.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb1/igt@gem_busy@busy-vcs1.html * {igt@gem_ctx_persistence@close-replace-race}: - shard-iclb: [FAIL][39] -> [PASS][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb4/igt@gem_ctx_persistence@close-replace-race.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb6/igt@gem_ctx_persistence@close-replace-race.html * igt@gem_exec_balancer@hang: - shard-tglb: [TIMEOUT][41] ([fdo#112271]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-tglb5/igt@gem_exec_balancer@hang.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-tglb3/igt@gem_exec_balancer@hang.html * igt@gem_exec_schedule@in-order-bsd: - shard-iclb: [SKIP][43] ([fdo#112146]) -> [PASS][44] +6 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb8/igt@gem_exec_schedule@in-order-bsd.html * igt@gem_partial_pwrite_pread@reads: - shard-hsw: [FAIL][45] ([i915#694]) -> [PASS][46] +1 similar issue [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-hsw8/igt@gem_partial_pwrite_pread@reads.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-hsw1/igt@gem_partial_pwrite_pread@reads.html * igt@i915_suspend@forcewake: - shard-kbl: [DMESG-WARN][47] ([i915#180]) -> [PASS][48] +2 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-kbl3/igt@i915_suspend@forcewake.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-kbl1/igt@i915_suspend@forcewake.html * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy: - shard-hsw: [FAIL][49] ([i915#96]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-hsw8/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-hsw8/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible: - shard-glk: [FAIL][51] ([i915#34]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-glk8/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-glk3/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-skl: [INCOMPLETE][53] ([i915#221]) -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-skl2/igt@kms_flip@flip-vs-suspend-interruptible.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-skl5/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-apl: [DMESG-WARN][55] ([i915#180]) -> [PASS][56] +2 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-apl4/igt@kms_frontbuffer_tracking@fbc-suspend.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-apl3/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite: - shard-tglb: [SKIP][57] ([i915#668]) -> [PASS][58] +3 similar issues [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-tglb1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-tglb6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite.html * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min: - shard-skl: [FAIL][59] ([fdo#108145]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-skl10/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html * igt@kms_psr2_su@frontbuffer: - shard-iclb: [SKIP][61] ([fdo#109642] / [fdo#111068]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb5/igt@kms_psr2_su@frontbuffer.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb2/igt@kms_psr2_su@frontbuffer.html * igt@kms_psr@psr2_primary_mmap_cpu: - shard-iclb: [SKIP][63] ([fdo#109441]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb5/igt@kms_psr@psr2_primary_mmap_cpu.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html * igt@prime_mmap_coherency@write: - shard-hsw: [FAIL][65] ([i915#914]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-hsw1/igt@prime_mmap_coherency@write.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-hsw7/igt@prime_mmap_coherency@write.html * igt@prime_vgem@fence-wait-bsd2: - shard-iclb: [SKIP][67] ([fdo#109276]) -> [PASS][68] +27 similar issues [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb5/igt@prime_vgem@fence-wait-bsd2.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv: - shard-iclb: [FAIL][69] ([IGT#28]) -> [SKIP][70] ([fdo#112080]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-iclb8/igt@gem_ctx_isolation@vcs1-nonpriv.html * igt@i915_pm_dc@dc6-psr: - shard-tglb: [SKIP][71] ([i915#468]) -> [FAIL][72] ([i915#454]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-tglb2/igt@i915_pm_dc@dc6-psr.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-tglb6/igt@i915_pm_dc@dc6-psr.html * igt@runner@aborted: - shard-hsw: [FAIL][73] ([i915#974]) -> ([FAIL][74], [FAIL][75]) ([i915#1176] / [i915#974]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-hsw2/igt@runner@aborted.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-hsw5/igt@runner@aborted.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-hsw8/igt@runner@aborted.html - shard-snb: ([FAIL][76], [FAIL][77], [FAIL][78], [FAIL][79], [FAIL][80], [FAIL][81], [FAIL][82], [FAIL][83]) ([fdo#111870] / [i915#1077] / [i915#974]) -> ([FAIL][84], [FAIL][85], [FAIL][86], [FAIL][87], [FAIL][88], [FAIL][89], [FAIL][90], [FAIL][91], [FAIL][92]) ([fdo#111870] / [i915#1077] / [i915#698] / [i915#974]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb6/igt@runner@aborted.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb5/igt@runner@aborted.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb4/igt@runner@aborted.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb2/igt@runner@aborted.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb2/igt@runner@aborted.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb1/igt@runner@aborted.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb1/igt@runner@aborted.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7943/shard-snb1/igt@runner@aborted.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb6/igt@runner@aborted.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb6/igt@runner@aborted.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb2/igt@runner@aborted.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb1/igt@runner@aborted.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb6/igt@runner@aborted.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb5/igt@runner@aborted.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb7/igt@runner@aborted.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb7/igt@runner@aborted.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/shard-snb6/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271 [i915#1077]: https://gitlab.freedesktop.org/drm/intel/issues/1077 [i915#1176]: https://gitlab.freedesktop.org/drm/intel/issues/1176 [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#221]: https://gitlab.freedesktop.org/drm/intel/issues/221 [i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34 [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468 [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61 [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644 [i915#668]: https://gitlab.freedesktop.org/drm/intel/issues/668 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#698]: https://gitlab.freedesktop.org/drm/intel/issues/698 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899 [i915#914]: https://gitlab.freedesktop.org/drm/intel/issues/914 [i915#96]: https://gitlab.freedesktop.org/drm/intel/issues/96 [i915#974]: https://gitlab.freedesktop.org/drm/intel/issues/974 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7943 -> Patchwork_16579 CI-20190529: 20190529 CI_DRM_7943: 865945b076689b2e99bc1c52fad95cec05cff9ed @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5442: 3f6080996885b997685f08ecb8b416b2dc485290 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16579: 25daabe03b8615a03eea700db755531ac0b93a4c @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16579/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-02-18 6:25 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-02-14 23:19 [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson 2020-02-14 23:19 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: Yield the timeslice if caught waiting on a user semaphore Chris Wilson 2020-02-14 23:41 ` [Intel-gfx] [PATCH 1/2] drm/i915/gt: Declare when we enabled timeslicing Chris Wilson 2020-02-15 0:00 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] " Patchwork 2020-02-18 6:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).