* [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads
@ 2022-10-06 21:38 John.C.Harrison
2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow John.C.Harrison
` (10 more replies)
0 siblings, 11 replies; 17+ messages in thread
From: John.C.Harrison @ 2022-10-06 21:38 UTC (permalink / raw)
To: Intel-GFX; +Cc: DRI-Devel
From: John Harrison <John.C.Harrison@Intel.com>
Compute workloads are inherently not pre-emptible on current hardware.
Thus the pre-emption timeout was disabled as a workaround to prevent
unwanted resets. Instead, the hang detection was left to the heartbeat
and its (longer) timeout. This is undesirable with GuC submission as
the heartbeat is a full GT reset rather than a per engine reset and so
is much more destructive. Instead, just bump the pre-emption timeout
to a big value. Also, update the heartbeat to allow such a long
pre-emption delay in the final heartbeat period.
v2: Add clamping helpers.
v3: Remove long timeout algorithm and replace with hard coded value
(review feedback from Tvrtko). Also, fix execlist selftest failure and
fix bug in compute enabling patch related to pre-emption timeouts.
v4: Add multiple BUG_ONs to re-check already range checked values (Tvrtko)
v5: Add FIXMEs and drm_notices about setting non-default heartbeat
periods (Tvrtko)
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
John Harrison (4):
drm/i915/guc: Limit scheduling properties to avoid overflow
drm/i915: Fix compute pre-emption w/a to apply to compute engines
drm/i915: Make the heartbeat play nice with long pre-emption timeouts
drm/i915: Improve long running compute w/a for GuC submission
drivers/gpu/drm/i915/Kconfig.profile | 26 ++++-
drivers/gpu/drm/i915/gt/intel_engine.h | 6 ++
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 102 +++++++++++++++---
.../gpu/drm/i915/gt/intel_engine_heartbeat.c | 39 +++++++
drivers/gpu/drm/i915/gt/sysfs_engines.c | 25 +++--
drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 21 ++++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 8 ++
7 files changed, 199 insertions(+), 28 deletions(-)
--
2.37.3
^ permalink raw reply [flat|nested] 17+ messages in thread* [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison @ 2022-10-06 21:38 ` John.C.Harrison 2022-10-18 0:06 ` Ceraolo Spurio, Daniele 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 2/4] drm/i915: Fix compute pre-emption w/a to apply to compute engines John.C.Harrison ` (9 subsequent siblings) 10 siblings, 1 reply; 17+ messages in thread From: John.C.Harrison @ 2022-10-06 21:38 UTC (permalink / raw) To: Intel-GFX; +Cc: DRI-Devel From: John Harrison <John.C.Harrison@Intel.com> GuC converts the pre-emption timeout and timeslice quantum values into clock ticks internally. That significantly reduces the point of 32bit overflow. On current platforms, worst case scenario is approximately 110 seconds. Rather than allowing the user to set higher values and then get confused by early timeouts, add limits when setting these values. v2: Add helper functions for clamping (review feedback from Tvrtko). v3: Add a bunch of BUG_ON range checks in addition to the checks already in the clamping functions (Tvrtko) Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> (v1) Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- drivers/gpu/drm/i915/gt/intel_engine.h | 6 ++ drivers/gpu/drm/i915/gt/intel_engine_cs.c | 69 +++++++++++++++++++ drivers/gpu/drm/i915/gt/sysfs_engines.c | 25 ++++--- drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 21 ++++++ .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 8 +++ 5 files changed, 119 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h index 04e435bce79bd..cbc8b857d5f7a 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine.h +++ b/drivers/gpu/drm/i915/gt/intel_engine.h @@ -348,4 +348,10 @@ intel_engine_get_hung_context(struct intel_engine_cs *engine) return engine->hung_ce; } +u64 intel_clamp_heartbeat_interval_ms(struct intel_engine_cs *engine, u64 value); +u64 intel_clamp_max_busywait_duration_ns(struct intel_engine_cs *engine, u64 value); +u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs *engine, u64 value); +u64 intel_clamp_stop_timeout_ms(struct intel_engine_cs *engine, u64 value); +u64 intel_clamp_timeslice_duration_ms(struct intel_engine_cs *engine, u64 value); + #endif /* _INTEL_RINGBUFFER_H_ */ diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index 2ddcad497fa30..8f16955f0821e 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -512,6 +512,26 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, engine->flags |= I915_ENGINE_HAS_EU_PRIORITY; } + /* Cap properties according to any system limits */ +#define CLAMP_PROP(field) \ + do { \ + u64 clamp = intel_clamp_##field(engine, engine->props.field); \ + if (clamp != engine->props.field) { \ + drm_notice(&engine->i915->drm, \ + "Warning, clamping %s to %lld to prevent overflow\n", \ + #field, clamp); \ + engine->props.field = clamp; \ + } \ + } while (0) + + CLAMP_PROP(heartbeat_interval_ms); + CLAMP_PROP(max_busywait_duration_ns); + CLAMP_PROP(preempt_timeout_ms); + CLAMP_PROP(stop_timeout_ms); + CLAMP_PROP(timeslice_duration_ms); + +#undef CLAMP_PROP + engine->defaults = engine->props; /* never to change again */ engine->context_size = intel_engine_context_size(gt, engine->class); @@ -534,6 +554,55 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, return 0; } +u64 intel_clamp_heartbeat_interval_ms(struct intel_engine_cs *engine, u64 value) +{ + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); + + return value; +} + +u64 intel_clamp_max_busywait_duration_ns(struct intel_engine_cs *engine, u64 value) +{ + value = min(value, jiffies_to_nsecs(2)); + + return value; +} + +u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs *engine, u64 value) +{ + /* + * NB: The GuC API only supports 32bit values. However, the limit is further + * reduced due to internal calculations which would otherwise overflow. + */ + if (intel_guc_submission_is_wanted(&engine->gt->uc.guc)) + value = min_t(u64, value, guc_policy_max_preempt_timeout_ms()); + + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); + + return value; +} + +u64 intel_clamp_stop_timeout_ms(struct intel_engine_cs *engine, u64 value) +{ + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); + + return value; +} + +u64 intel_clamp_timeslice_duration_ms(struct intel_engine_cs *engine, u64 value) +{ + /* + * NB: The GuC API only supports 32bit values. However, the limit is further + * reduced due to internal calculations which would otherwise overflow. + */ + if (intel_guc_submission_is_wanted(&engine->gt->uc.guc)) + value = min_t(u64, value, guc_policy_max_exec_quantum_ms()); + + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); + + return value; +} + static void __setup_engine_capabilities(struct intel_engine_cs *engine) { struct drm_i915_private *i915 = engine->i915; diff --git a/drivers/gpu/drm/i915/gt/sysfs_engines.c b/drivers/gpu/drm/i915/gt/sysfs_engines.c index 9670310562029..f2d9858d827c2 100644 --- a/drivers/gpu/drm/i915/gt/sysfs_engines.c +++ b/drivers/gpu/drm/i915/gt/sysfs_engines.c @@ -144,7 +144,7 @@ max_spin_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t count) { struct intel_engine_cs *engine = kobj_to_engine(kobj); - unsigned long long duration; + unsigned long long duration, clamped; int err; /* @@ -168,7 +168,8 @@ max_spin_store(struct kobject *kobj, struct kobj_attribute *attr, if (err) return err; - if (duration > jiffies_to_nsecs(2)) + clamped = intel_clamp_max_busywait_duration_ns(engine, duration); + if (duration != clamped) return -EINVAL; WRITE_ONCE(engine->props.max_busywait_duration_ns, duration); @@ -203,7 +204,7 @@ timeslice_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t count) { struct intel_engine_cs *engine = kobj_to_engine(kobj); - unsigned long long duration; + unsigned long long duration, clamped; int err; /* @@ -218,7 +219,8 @@ timeslice_store(struct kobject *kobj, struct kobj_attribute *attr, if (err) return err; - if (duration > jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) + clamped = intel_clamp_timeslice_duration_ms(engine, duration); + if (duration != clamped) return -EINVAL; WRITE_ONCE(engine->props.timeslice_duration_ms, duration); @@ -256,7 +258,7 @@ stop_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t count) { struct intel_engine_cs *engine = kobj_to_engine(kobj); - unsigned long long duration; + unsigned long long duration, clamped; int err; /* @@ -272,7 +274,8 @@ stop_store(struct kobject *kobj, struct kobj_attribute *attr, if (err) return err; - if (duration > jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) + clamped = intel_clamp_stop_timeout_ms(engine, duration); + if (duration != clamped) return -EINVAL; WRITE_ONCE(engine->props.stop_timeout_ms, duration); @@ -306,7 +309,7 @@ preempt_timeout_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t count) { struct intel_engine_cs *engine = kobj_to_engine(kobj); - unsigned long long timeout; + unsigned long long timeout, clamped; int err; /* @@ -322,7 +325,8 @@ preempt_timeout_store(struct kobject *kobj, struct kobj_attribute *attr, if (err) return err; - if (timeout > jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) + clamped = intel_clamp_preempt_timeout_ms(engine, timeout); + if (timeout != clamped) return -EINVAL; WRITE_ONCE(engine->props.preempt_timeout_ms, timeout); @@ -362,7 +366,7 @@ heartbeat_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t count) { struct intel_engine_cs *engine = kobj_to_engine(kobj); - unsigned long long delay; + unsigned long long delay, clamped; int err; /* @@ -379,7 +383,8 @@ heartbeat_store(struct kobject *kobj, struct kobj_attribute *attr, if (err) return err; - if (delay >= jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) + clamped = intel_clamp_heartbeat_interval_ms(engine, delay); + if (delay != clamped) return -EINVAL; err = intel_engine_set_heartbeat(engine, delay); diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h index e7a7fb450f442..968ebd79dce70 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h @@ -327,6 +327,27 @@ struct guc_update_scheduling_policy { #define GLOBAL_POLICY_DEFAULT_DPC_PROMOTE_TIME_US 500000 +/* + * GuC converts the timeout to clock ticks internally. Different platforms have + * different GuC clocks. Thus, the maximum value before overflow is platform + * dependent. Current worst case scenario is about 110s. So, the spec says to + * limit to 100s to be safe. + */ +#define GUC_POLICY_MAX_EXEC_QUANTUM_US (100 * 1000 * 1000UL) +#define GUC_POLICY_MAX_PREEMPT_TIMEOUT_US (100 * 1000 * 1000UL) + +static inline u32 guc_policy_max_exec_quantum_ms(void) +{ + BUILD_BUG_ON(GUC_POLICY_MAX_EXEC_QUANTUM_US >= UINT_MAX); + return GUC_POLICY_MAX_EXEC_QUANTUM_US / 1000; +} + +static inline u32 guc_policy_max_preempt_timeout_ms(void) +{ + BUILD_BUG_ON(GUC_POLICY_MAX_PREEMPT_TIMEOUT_US >= UINT_MAX); + return GUC_POLICY_MAX_PREEMPT_TIMEOUT_US / 1000; +} + struct guc_policies { u32 submission_queue_depth[GUC_MAX_ENGINE_CLASSES]; /* In micro seconds. How much time to allow before DPC processing is diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c index 693b07a977893..c433d35ae41ae 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c @@ -2430,6 +2430,10 @@ static int guc_context_policy_init_v70(struct intel_context *ce, bool loop) int ret; /* NB: For both of these, zero means disabled. */ + GEM_BUG_ON(overflows_type(engine->props.timeslice_duration_ms * 1000, + execution_quantum)); + GEM_BUG_ON(overflows_type(engine->props.preempt_timeout_ms * 1000, + preemption_timeout)); execution_quantum = engine->props.timeslice_duration_ms * 1000; preemption_timeout = engine->props.preempt_timeout_ms * 1000; @@ -2463,6 +2467,10 @@ static void guc_context_policy_init_v69(struct intel_engine_cs *engine, desc->policy_flags |= CONTEXT_POLICY_FLAG_PREEMPT_TO_IDLE_V69; /* NB: For both of these, zero means disabled. */ + GEM_BUG_ON(overflows_type(engine->props.timeslice_duration_ms * 1000, + desc->execution_quantum)); + GEM_BUG_ON(overflows_type(engine->props.preempt_timeout_ms * 1000, + desc->preemption_timeout)); desc->execution_quantum = engine->props.timeslice_duration_ms * 1000; desc->preemption_timeout = engine->props.preempt_timeout_ms * 1000; } -- 2.37.3 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow John.C.Harrison @ 2022-10-18 0:06 ` Ceraolo Spurio, Daniele 0 siblings, 0 replies; 17+ messages in thread From: Ceraolo Spurio, Daniele @ 2022-10-18 0:06 UTC (permalink / raw) To: John.C.Harrison, Intel-GFX; +Cc: DRI-Devel On 10/6/2022 2:38 PM, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > GuC converts the pre-emption timeout and timeslice quantum values into > clock ticks internally. That significantly reduces the point of 32bit > overflow. On current platforms, worst case scenario is approximately > 110 seconds. Rather than allowing the user to set higher values and > then get confused by early timeouts, add limits when setting these > values. > > v2: Add helper functions for clamping (review feedback from Tvrtko). > v3: Add a bunch of BUG_ON range checks in addition to the checks > already in the clamping functions (Tvrtko) > > Signed-off-by: John Harrison <John.C.Harrison@Intel.com> > Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> (v1) r-b stands Daniele > Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_engine.h | 6 ++ > drivers/gpu/drm/i915/gt/intel_engine_cs.c | 69 +++++++++++++++++++ > drivers/gpu/drm/i915/gt/sysfs_engines.c | 25 ++++--- > drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 21 ++++++ > .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 8 +++ > 5 files changed, 119 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h > index 04e435bce79bd..cbc8b857d5f7a 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine.h > +++ b/drivers/gpu/drm/i915/gt/intel_engine.h > @@ -348,4 +348,10 @@ intel_engine_get_hung_context(struct intel_engine_cs *engine) > return engine->hung_ce; > } > > +u64 intel_clamp_heartbeat_interval_ms(struct intel_engine_cs *engine, u64 value); > +u64 intel_clamp_max_busywait_duration_ns(struct intel_engine_cs *engine, u64 value); > +u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs *engine, u64 value); > +u64 intel_clamp_stop_timeout_ms(struct intel_engine_cs *engine, u64 value); > +u64 intel_clamp_timeslice_duration_ms(struct intel_engine_cs *engine, u64 value); > + > #endif /* _INTEL_RINGBUFFER_H_ */ > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c > index 2ddcad497fa30..8f16955f0821e 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c > +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c > @@ -512,6 +512,26 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, > engine->flags |= I915_ENGINE_HAS_EU_PRIORITY; > } > > + /* Cap properties according to any system limits */ > +#define CLAMP_PROP(field) \ > + do { \ > + u64 clamp = intel_clamp_##field(engine, engine->props.field); \ > + if (clamp != engine->props.field) { \ > + drm_notice(&engine->i915->drm, \ > + "Warning, clamping %s to %lld to prevent overflow\n", \ > + #field, clamp); \ > + engine->props.field = clamp; \ > + } \ > + } while (0) > + > + CLAMP_PROP(heartbeat_interval_ms); > + CLAMP_PROP(max_busywait_duration_ns); > + CLAMP_PROP(preempt_timeout_ms); > + CLAMP_PROP(stop_timeout_ms); > + CLAMP_PROP(timeslice_duration_ms); > + > +#undef CLAMP_PROP > + > engine->defaults = engine->props; /* never to change again */ > > engine->context_size = intel_engine_context_size(gt, engine->class); > @@ -534,6 +554,55 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, > return 0; > } > > +u64 intel_clamp_heartbeat_interval_ms(struct intel_engine_cs *engine, u64 value) > +{ > + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); > + > + return value; > +} > + > +u64 intel_clamp_max_busywait_duration_ns(struct intel_engine_cs *engine, u64 value) > +{ > + value = min(value, jiffies_to_nsecs(2)); > + > + return value; > +} > + > +u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs *engine, u64 value) > +{ > + /* > + * NB: The GuC API only supports 32bit values. However, the limit is further > + * reduced due to internal calculations which would otherwise overflow. > + */ > + if (intel_guc_submission_is_wanted(&engine->gt->uc.guc)) > + value = min_t(u64, value, guc_policy_max_preempt_timeout_ms()); > + > + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); > + > + return value; > +} > + > +u64 intel_clamp_stop_timeout_ms(struct intel_engine_cs *engine, u64 value) > +{ > + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); > + > + return value; > +} > + > +u64 intel_clamp_timeslice_duration_ms(struct intel_engine_cs *engine, u64 value) > +{ > + /* > + * NB: The GuC API only supports 32bit values. However, the limit is further > + * reduced due to internal calculations which would otherwise overflow. > + */ > + if (intel_guc_submission_is_wanted(&engine->gt->uc.guc)) > + value = min_t(u64, value, guc_policy_max_exec_quantum_ms()); > + > + value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)); > + > + return value; > +} > + > static void __setup_engine_capabilities(struct intel_engine_cs *engine) > { > struct drm_i915_private *i915 = engine->i915; > diff --git a/drivers/gpu/drm/i915/gt/sysfs_engines.c b/drivers/gpu/drm/i915/gt/sysfs_engines.c > index 9670310562029..f2d9858d827c2 100644 > --- a/drivers/gpu/drm/i915/gt/sysfs_engines.c > +++ b/drivers/gpu/drm/i915/gt/sysfs_engines.c > @@ -144,7 +144,7 @@ max_spin_store(struct kobject *kobj, struct kobj_attribute *attr, > const char *buf, size_t count) > { > struct intel_engine_cs *engine = kobj_to_engine(kobj); > - unsigned long long duration; > + unsigned long long duration, clamped; > int err; > > /* > @@ -168,7 +168,8 @@ max_spin_store(struct kobject *kobj, struct kobj_attribute *attr, > if (err) > return err; > > - if (duration > jiffies_to_nsecs(2)) > + clamped = intel_clamp_max_busywait_duration_ns(engine, duration); > + if (duration != clamped) > return -EINVAL; > > WRITE_ONCE(engine->props.max_busywait_duration_ns, duration); > @@ -203,7 +204,7 @@ timeslice_store(struct kobject *kobj, struct kobj_attribute *attr, > const char *buf, size_t count) > { > struct intel_engine_cs *engine = kobj_to_engine(kobj); > - unsigned long long duration; > + unsigned long long duration, clamped; > int err; > > /* > @@ -218,7 +219,8 @@ timeslice_store(struct kobject *kobj, struct kobj_attribute *attr, > if (err) > return err; > > - if (duration > jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) > + clamped = intel_clamp_timeslice_duration_ms(engine, duration); > + if (duration != clamped) > return -EINVAL; > > WRITE_ONCE(engine->props.timeslice_duration_ms, duration); > @@ -256,7 +258,7 @@ stop_store(struct kobject *kobj, struct kobj_attribute *attr, > const char *buf, size_t count) > { > struct intel_engine_cs *engine = kobj_to_engine(kobj); > - unsigned long long duration; > + unsigned long long duration, clamped; > int err; > > /* > @@ -272,7 +274,8 @@ stop_store(struct kobject *kobj, struct kobj_attribute *attr, > if (err) > return err; > > - if (duration > jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) > + clamped = intel_clamp_stop_timeout_ms(engine, duration); > + if (duration != clamped) > return -EINVAL; > > WRITE_ONCE(engine->props.stop_timeout_ms, duration); > @@ -306,7 +309,7 @@ preempt_timeout_store(struct kobject *kobj, struct kobj_attribute *attr, > const char *buf, size_t count) > { > struct intel_engine_cs *engine = kobj_to_engine(kobj); > - unsigned long long timeout; > + unsigned long long timeout, clamped; > int err; > > /* > @@ -322,7 +325,8 @@ preempt_timeout_store(struct kobject *kobj, struct kobj_attribute *attr, > if (err) > return err; > > - if (timeout > jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) > + clamped = intel_clamp_preempt_timeout_ms(engine, timeout); > + if (timeout != clamped) > return -EINVAL; > > WRITE_ONCE(engine->props.preempt_timeout_ms, timeout); > @@ -362,7 +366,7 @@ heartbeat_store(struct kobject *kobj, struct kobj_attribute *attr, > const char *buf, size_t count) > { > struct intel_engine_cs *engine = kobj_to_engine(kobj); > - unsigned long long delay; > + unsigned long long delay, clamped; > int err; > > /* > @@ -379,7 +383,8 @@ heartbeat_store(struct kobject *kobj, struct kobj_attribute *attr, > if (err) > return err; > > - if (delay >= jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT)) > + clamped = intel_clamp_heartbeat_interval_ms(engine, delay); > + if (delay != clamped) > return -EINVAL; > > err = intel_engine_set_heartbeat(engine, delay); > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h > index e7a7fb450f442..968ebd79dce70 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h > @@ -327,6 +327,27 @@ struct guc_update_scheduling_policy { > > #define GLOBAL_POLICY_DEFAULT_DPC_PROMOTE_TIME_US 500000 > > +/* > + * GuC converts the timeout to clock ticks internally. Different platforms have > + * different GuC clocks. Thus, the maximum value before overflow is platform > + * dependent. Current worst case scenario is about 110s. So, the spec says to > + * limit to 100s to be safe. > + */ > +#define GUC_POLICY_MAX_EXEC_QUANTUM_US (100 * 1000 * 1000UL) > +#define GUC_POLICY_MAX_PREEMPT_TIMEOUT_US (100 * 1000 * 1000UL) > + > +static inline u32 guc_policy_max_exec_quantum_ms(void) > +{ > + BUILD_BUG_ON(GUC_POLICY_MAX_EXEC_QUANTUM_US >= UINT_MAX); > + return GUC_POLICY_MAX_EXEC_QUANTUM_US / 1000; > +} > + > +static inline u32 guc_policy_max_preempt_timeout_ms(void) > +{ > + BUILD_BUG_ON(GUC_POLICY_MAX_PREEMPT_TIMEOUT_US >= UINT_MAX); > + return GUC_POLICY_MAX_PREEMPT_TIMEOUT_US / 1000; > +} > + > struct guc_policies { > u32 submission_queue_depth[GUC_MAX_ENGINE_CLASSES]; > /* In micro seconds. How much time to allow before DPC processing is > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c > index 693b07a977893..c433d35ae41ae 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c > @@ -2430,6 +2430,10 @@ static int guc_context_policy_init_v70(struct intel_context *ce, bool loop) > int ret; > > /* NB: For both of these, zero means disabled. */ > + GEM_BUG_ON(overflows_type(engine->props.timeslice_duration_ms * 1000, > + execution_quantum)); > + GEM_BUG_ON(overflows_type(engine->props.preempt_timeout_ms * 1000, > + preemption_timeout)); > execution_quantum = engine->props.timeslice_duration_ms * 1000; > preemption_timeout = engine->props.preempt_timeout_ms * 1000; > > @@ -2463,6 +2467,10 @@ static void guc_context_policy_init_v69(struct intel_engine_cs *engine, > desc->policy_flags |= CONTEXT_POLICY_FLAG_PREEMPT_TO_IDLE_V69; > > /* NB: For both of these, zero means disabled. */ > + GEM_BUG_ON(overflows_type(engine->props.timeslice_duration_ms * 1000, > + desc->execution_quantum)); > + GEM_BUG_ON(overflows_type(engine->props.preempt_timeout_ms * 1000, > + desc->preemption_timeout)); > desc->execution_quantum = engine->props.timeslice_duration_ms * 1000; > desc->preemption_timeout = engine->props.preempt_timeout_ms * 1000; > } ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH v5 2/4] drm/i915: Fix compute pre-emption w/a to apply to compute engines 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow John.C.Harrison @ 2022-10-06 21:38 ` John.C.Harrison 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 3/4] drm/i915: Make the heartbeat play nice with long pre-emption timeouts John.C.Harrison ` (8 subsequent siblings) 10 siblings, 0 replies; 17+ messages in thread From: John.C.Harrison @ 2022-10-06 21:38 UTC (permalink / raw) To: Intel-GFX Cc: Daniel Vetter, DRI-Devel, Chris Wilson, Matthew Auld, Ramalingam C, Thomas Hellström, Jani Nikula, Lucas De Marchi, Michał Winiarski, Tejas Upadhyay From: John Harrison <John.C.Harrison@Intel.com> An earlier patch added support for compute engines. However, it missed enabling the anti-pre-emption w/a for the new engine class. So move the 'compute capable' flag earlier and use it for the pre-emption w/a test. Fixes: c674c5b9342e ("drm/i915/xehp: CCS should use RCS setup functions") Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: John Harrison <John.C.Harrison@Intel.com> Cc: Jason Ekstrand <jason@jlekstrand.net> Cc: "Michał Winiarski" <michal.winiarski@intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com> Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com> Cc: Stuart Summers <stuart.summers@intel.com> Cc: Matthew Auld <matthew.auld@intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Ramalingam C <ramalingam.c@intel.com> Cc: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index 8f16955f0821e..fcbccd8d244e9 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -486,6 +486,17 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, engine->logical_mask = BIT(logical_instance); __sprint_engine_name(engine); + if ((engine->class == COMPUTE_CLASS && !RCS_MASK(engine->gt) && + __ffs(CCS_MASK(engine->gt)) == engine->instance) || + engine->class == RENDER_CLASS) + engine->flags |= I915_ENGINE_FIRST_RENDER_COMPUTE; + + /* features common between engines sharing EUs */ + if (engine->class == RENDER_CLASS || engine->class == COMPUTE_CLASS) { + engine->flags |= I915_ENGINE_HAS_RCS_REG_STATE; + engine->flags |= I915_ENGINE_HAS_EU_PRIORITY; + } + engine->props.heartbeat_interval_ms = CONFIG_DRM_I915_HEARTBEAT_INTERVAL; engine->props.max_busywait_duration_ns = @@ -498,20 +509,9 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, CONFIG_DRM_I915_TIMESLICE_DURATION; /* Override to uninterruptible for OpenCL workloads. */ - if (GRAPHICS_VER(i915) == 12 && engine->class == RENDER_CLASS) + if (GRAPHICS_VER(i915) == 12 && (engine->flags & I915_ENGINE_HAS_RCS_REG_STATE)) engine->props.preempt_timeout_ms = 0; - if ((engine->class == COMPUTE_CLASS && !RCS_MASK(engine->gt) && - __ffs(CCS_MASK(engine->gt)) == engine->instance) || - engine->class == RENDER_CLASS) - engine->flags |= I915_ENGINE_FIRST_RENDER_COMPUTE; - - /* features common between engines sharing EUs */ - if (engine->class == RENDER_CLASS || engine->class == COMPUTE_CLASS) { - engine->flags |= I915_ENGINE_HAS_RCS_REG_STATE; - engine->flags |= I915_ENGINE_HAS_EU_PRIORITY; - } - /* Cap properties according to any system limits */ #define CLAMP_PROP(field) \ do { \ -- 2.37.3 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH v5 3/4] drm/i915: Make the heartbeat play nice with long pre-emption timeouts 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow John.C.Harrison 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 2/4] drm/i915: Fix compute pre-emption w/a to apply to compute engines John.C.Harrison @ 2022-10-06 21:38 ` John.C.Harrison 2022-10-07 8:44 ` Tvrtko Ursulin 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 4/4] drm/i915: Improve long running compute w/a for GuC submission John.C.Harrison ` (7 subsequent siblings) 10 siblings, 1 reply; 17+ messages in thread From: John.C.Harrison @ 2022-10-06 21:38 UTC (permalink / raw) To: Intel-GFX; +Cc: DRI-Devel From: John Harrison <John.C.Harrison@Intel.com> Compute workloads are inherently not pre-emptible for long periods on current hardware. As a workaround for this, the pre-emption timeout for compute capable engines was disabled. This is undesirable with GuC submission as it prevents per engine reset of hung contexts. Hence the next patch will re-enable the timeout but bumped up by an order of magnitude. However, the heartbeat might not respect that. Depending upon current activity, a pre-emption to the heartbeat pulse might not even be attempted until the last heartbeat period. Which means that only one period is granted for the pre-emption to occur. With the aforesaid bump, the pre-emption timeout could be significantly larger than this heartbeat period. So adjust the heartbeat code to take the pre-emption timeout into account. When it reaches the final (high priority) period, it now ensures the delay before hitting reset is bigger than the pre-emption timeout. v2: Fix for selftests which adjust the heartbeat period manually. v3: Add FIXME comment about selftests. Add extra FIXME comment and drm_notices when setting heartbeat to a non-default value (review feedback from Tvrtko) Signed-off-by: John Harrison <John.C.Harrison@Intel.com> --- .../gpu/drm/i915/gt/intel_engine_heartbeat.c | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c index a3698f611f457..9a527e1f5be65 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c @@ -22,9 +22,37 @@ static bool next_heartbeat(struct intel_engine_cs *engine) { + struct i915_request *rq; long delay; delay = READ_ONCE(engine->props.heartbeat_interval_ms); + + rq = engine->heartbeat.systole; + + /* + * FIXME: The final period extension is disabled if the period has been + * modified from the default. This is to prevent issues with certain + * selftests which override the value and expect specific behaviour. + * Once the selftests have been updated to either cope with variable + * heartbeat periods (or to override the pre-emption timeout as well, + * or just to add a selftest specific override of the extension), the + * generic override can be removed. + */ + if (rq && rq->sched.attr.priority >= I915_PRIORITY_BARRIER && + delay == engine->defaults.heartbeat_interval_ms) { + long longer; + + /* + * The final try is at the highest priority possible. Up until now + * a pre-emption might not even have been attempted. So make sure + * this last attempt allows enough time for a pre-emption to occur. + */ + longer = READ_ONCE(engine->props.preempt_timeout_ms) * 2; + longer = intel_clamp_heartbeat_interval_ms(engine, longer); + if (longer > delay) + delay = longer; + } + if (!delay) return false; @@ -288,6 +316,17 @@ int intel_engine_set_heartbeat(struct intel_engine_cs *engine, if (!delay && !intel_engine_has_preempt_reset(engine)) return -ENODEV; + /* FIXME: Remove together with equally marked hack in next_heartbeat. */ + if (delay != engine->defaults.heartbeat_interval_ms && + delay < 2 * engine->props.preempt_timeout_ms) { + if (intel_engine_uses_guc(engine)) + drm_notice(&engine->i915->drm, "%s heartbeat interval adjusted to a non-default value which may downgrade individual engine resets to full GPU resets!\n", + engine->name); + else + drm_notice(&engine->i915->drm, "%s heartbeat interval adjusted to a non-default value which may cause engine resets to target innocent contexts!\n", + engine->name); + } + intel_engine_pm_get(engine); err = mutex_lock_interruptible(&ce->timeline->mutex); -- 2.37.3 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH v5 3/4] drm/i915: Make the heartbeat play nice with long pre-emption timeouts 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 3/4] drm/i915: Make the heartbeat play nice with long pre-emption timeouts John.C.Harrison @ 2022-10-07 8:44 ` Tvrtko Ursulin 0 siblings, 0 replies; 17+ messages in thread From: Tvrtko Ursulin @ 2022-10-07 8:44 UTC (permalink / raw) To: John.C.Harrison, Intel-GFX; +Cc: DRI-Devel On 06/10/2022 22:38, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > Compute workloads are inherently not pre-emptible for long periods on > current hardware. As a workaround for this, the pre-emption timeout > for compute capable engines was disabled. This is undesirable with GuC > submission as it prevents per engine reset of hung contexts. Hence the > next patch will re-enable the timeout but bumped up by an order of > magnitude. > > However, the heartbeat might not respect that. Depending upon current > activity, a pre-emption to the heartbeat pulse might not even be > attempted until the last heartbeat period. Which means that only one > period is granted for the pre-emption to occur. With the aforesaid > bump, the pre-emption timeout could be significantly larger than this > heartbeat period. > > So adjust the heartbeat code to take the pre-emption timeout into > account. When it reaches the final (high priority) period, it now > ensures the delay before hitting reset is bigger than the pre-emption > timeout. > > v2: Fix for selftests which adjust the heartbeat period manually. > v3: Add FIXME comment about selftests. Add extra FIXME comment and > drm_notices when setting heartbeat to a non-default value (review > feedback from Tvrtko) > > Signed-off-by: John Harrison <John.C.Harrison@Intel.com> > --- > .../gpu/drm/i915/gt/intel_engine_heartbeat.c | 39 +++++++++++++++++++ > 1 file changed, 39 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c > index a3698f611f457..9a527e1f5be65 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c > +++ b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c > @@ -22,9 +22,37 @@ > > static bool next_heartbeat(struct intel_engine_cs *engine) > { > + struct i915_request *rq; > long delay; > > delay = READ_ONCE(engine->props.heartbeat_interval_ms); > + > + rq = engine->heartbeat.systole; > + > + /* > + * FIXME: The final period extension is disabled if the period has been > + * modified from the default. This is to prevent issues with certain > + * selftests which override the value and expect specific behaviour. > + * Once the selftests have been updated to either cope with variable > + * heartbeat periods (or to override the pre-emption timeout as well, > + * or just to add a selftest specific override of the extension), the > + * generic override can be removed. > + */ > + if (rq && rq->sched.attr.priority >= I915_PRIORITY_BARRIER && > + delay == engine->defaults.heartbeat_interval_ms) { > + long longer; > + > + /* > + * The final try is at the highest priority possible. Up until now > + * a pre-emption might not even have been attempted. So make sure > + * this last attempt allows enough time for a pre-emption to occur. > + */ > + longer = READ_ONCE(engine->props.preempt_timeout_ms) * 2; > + longer = intel_clamp_heartbeat_interval_ms(engine, longer); > + if (longer > delay) > + delay = longer; > + } > + > if (!delay) > return false; > > @@ -288,6 +316,17 @@ int intel_engine_set_heartbeat(struct intel_engine_cs *engine, > if (!delay && !intel_engine_has_preempt_reset(engine)) > return -ENODEV; > > + /* FIXME: Remove together with equally marked hack in next_heartbeat. */ > + if (delay != engine->defaults.heartbeat_interval_ms && > + delay < 2 * engine->props.preempt_timeout_ms) { > + if (intel_engine_uses_guc(engine)) > + drm_notice(&engine->i915->drm, "%s heartbeat interval adjusted to a non-default value which may downgrade individual engine resets to full GPU resets!\n", > + engine->name); > + else > + drm_notice(&engine->i915->drm, "%s heartbeat interval adjusted to a non-default value which may cause engine resets to target innocent contexts!\n", > + engine->name); > + } > + > intel_engine_pm_get(engine); > > err = mutex_lock_interruptible(&ce->timeline->mutex); LGTM - hope it is agreeable to you too. Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Regards, Tvrtko ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH v5 4/4] drm/i915: Improve long running compute w/a for GuC submission 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (2 preceding siblings ...) 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 3/4] drm/i915: Make the heartbeat play nice with long pre-emption timeouts John.C.Harrison @ 2022-10-06 21:38 ` John.C.Harrison 2022-10-18 0:09 ` Ceraolo Spurio, Daniele 2022-10-06 21:57 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev8) Patchwork ` (6 subsequent siblings) 10 siblings, 1 reply; 17+ messages in thread From: John.C.Harrison @ 2022-10-06 21:38 UTC (permalink / raw) To: Intel-GFX; +Cc: Michal Mrozek, DRI-Devel From: John Harrison <John.C.Harrison@Intel.com> A workaround was added to the driver to allow compute workloads to run 'forever' by disabling pre-emption on the RCS engine for Gen12. It is not totally unbound as the heartbeat will kick in eventually and cause a reset of the hung engine. However, this does not work well in GuC submission mode. In GuC mode, the pre-emption timeout is how GuC detects hung contexts and triggers a per engine reset. Thus, disabling the timeout means also losing all per engine reset ability. A full GT reset will still occur when the heartbeat finally expires, but that is a much more destructive and undesirable mechanism. The purpose of the workaround is actually to give compute tasks longer to reach a pre-emption point after a pre-emption request has been issued. This is necessary because Gen12 does not support mid-thread pre-emption and compute tasks can have long running threads. So, rather than disabling the timeout completely, just set it to a 'long' value. v2: Review feedback from Tvrtko - must hard code the 'long' value instead of determining it algorithmically. So make it an extra CONFIG definition. Also, remove the execlist centric comment from the existing pre-emption timeout CONFIG option given that it applies to more than just execlists. Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> (v1) Acked-by: Michal Mrozek <michal.mrozek@intel.com> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- drivers/gpu/drm/i915/Kconfig.profile | 26 +++++++++++++++++++---- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 9 ++++++-- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/Kconfig.profile b/drivers/gpu/drm/i915/Kconfig.profile index 39328567c2007..7cc38d25ee5c8 100644 --- a/drivers/gpu/drm/i915/Kconfig.profile +++ b/drivers/gpu/drm/i915/Kconfig.profile @@ -57,10 +57,28 @@ config DRM_I915_PREEMPT_TIMEOUT default 640 # milliseconds help How long to wait (in milliseconds) for a preemption event to occur - when submitting a new context via execlists. If the current context - does not hit an arbitration point and yield to HW before the timer - expires, the HW will be reset to allow the more important context - to execute. + when submitting a new context. If the current context does not hit + an arbitration point and yield to HW before the timer expires, the + HW will be reset to allow the more important context to execute. + + This is adjustable via + /sys/class/drm/card?/engine/*/preempt_timeout_ms + + May be 0 to disable the timeout. + + The compiled in default may get overridden at driver probe time on + certain platforms and certain engines which will be reflected in the + sysfs control. + +config DRM_I915_PREEMPT_TIMEOUT_COMPUTE + int "Preempt timeout for compute engines (ms, jiffy granularity)" + default 7500 # milliseconds + help + How long to wait (in milliseconds) for a preemption event to occur + when submitting a new context to a compute capable engine. If the + current context does not hit an arbitration point and yield to HW + before the timer expires, the HW will be reset to allow the more + important context to execute. This is adjustable via /sys/class/drm/card?/engine/*/preempt_timeout_ms diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index fcbccd8d244e9..c1257723d1949 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -508,9 +508,14 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, engine->props.timeslice_duration_ms = CONFIG_DRM_I915_TIMESLICE_DURATION; - /* Override to uninterruptible for OpenCL workloads. */ + /* + * Mid-thread pre-emption is not available in Gen12. Unfortunately, + * some compute workloads run quite long threads. That means they get + * reset due to not pre-empting in a timely manner. So, bump the + * pre-emption timeout value to be much higher for compute engines. + */ if (GRAPHICS_VER(i915) == 12 && (engine->flags & I915_ENGINE_HAS_RCS_REG_STATE)) - engine->props.preempt_timeout_ms = 0; + engine->props.preempt_timeout_ms = CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE; /* Cap properties according to any system limits */ #define CLAMP_PROP(field) \ -- 2.37.3 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] [PATCH v5 4/4] drm/i915: Improve long running compute w/a for GuC submission 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 4/4] drm/i915: Improve long running compute w/a for GuC submission John.C.Harrison @ 2022-10-18 0:09 ` Ceraolo Spurio, Daniele 0 siblings, 0 replies; 17+ messages in thread From: Ceraolo Spurio, Daniele @ 2022-10-18 0:09 UTC (permalink / raw) To: John.C.Harrison, Intel-GFX; +Cc: Michal Mrozek, DRI-Devel On 10/6/2022 2:38 PM, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > A workaround was added to the driver to allow compute workloads to run > 'forever' by disabling pre-emption on the RCS engine for Gen12. > It is not totally unbound as the heartbeat will kick in eventually > and cause a reset of the hung engine. > > However, this does not work well in GuC submission mode. In GuC mode, > the pre-emption timeout is how GuC detects hung contexts and triggers > a per engine reset. Thus, disabling the timeout means also losing all > per engine reset ability. A full GT reset will still occur when the > heartbeat finally expires, but that is a much more destructive and > undesirable mechanism. > > The purpose of the workaround is actually to give compute tasks longer > to reach a pre-emption point after a pre-emption request has been > issued. This is necessary because Gen12 does not support mid-thread > pre-emption and compute tasks can have long running threads. > > So, rather than disabling the timeout completely, just set it to a > 'long' value. > > v2: Review feedback from Tvrtko - must hard code the 'long' value > instead of determining it algorithmically. So make it an extra CONFIG > definition. Also, remove the execlist centric comment from the > existing pre-emption timeout CONFIG option given that it applies to > more than just execlists. > > Signed-off-by: John Harrison <John.C.Harrison@Intel.com> > Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> (v1) r-b stands. Daniele > Acked-by: Michal Mrozek <michal.mrozek@intel.com> > Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- > drivers/gpu/drm/i915/Kconfig.profile | 26 +++++++++++++++++++---- > drivers/gpu/drm/i915/gt/intel_engine_cs.c | 9 ++++++-- > 2 files changed, 29 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/Kconfig.profile b/drivers/gpu/drm/i915/Kconfig.profile > index 39328567c2007..7cc38d25ee5c8 100644 > --- a/drivers/gpu/drm/i915/Kconfig.profile > +++ b/drivers/gpu/drm/i915/Kconfig.profile > @@ -57,10 +57,28 @@ config DRM_I915_PREEMPT_TIMEOUT > default 640 # milliseconds > help > How long to wait (in milliseconds) for a preemption event to occur > - when submitting a new context via execlists. If the current context > - does not hit an arbitration point and yield to HW before the timer > - expires, the HW will be reset to allow the more important context > - to execute. > + when submitting a new context. If the current context does not hit > + an arbitration point and yield to HW before the timer expires, the > + HW will be reset to allow the more important context to execute. > + > + This is adjustable via > + /sys/class/drm/card?/engine/*/preempt_timeout_ms > + > + May be 0 to disable the timeout. > + > + The compiled in default may get overridden at driver probe time on > + certain platforms and certain engines which will be reflected in the > + sysfs control. > + > +config DRM_I915_PREEMPT_TIMEOUT_COMPUTE > + int "Preempt timeout for compute engines (ms, jiffy granularity)" > + default 7500 # milliseconds > + help > + How long to wait (in milliseconds) for a preemption event to occur > + when submitting a new context to a compute capable engine. If the > + current context does not hit an arbitration point and yield to HW > + before the timer expires, the HW will be reset to allow the more > + important context to execute. > > This is adjustable via > /sys/class/drm/card?/engine/*/preempt_timeout_ms > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c > index fcbccd8d244e9..c1257723d1949 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c > +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c > @@ -508,9 +508,14 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id, > engine->props.timeslice_duration_ms = > CONFIG_DRM_I915_TIMESLICE_DURATION; > > - /* Override to uninterruptible for OpenCL workloads. */ > + /* > + * Mid-thread pre-emption is not available in Gen12. Unfortunately, > + * some compute workloads run quite long threads. That means they get > + * reset due to not pre-empting in a timely manner. So, bump the > + * pre-emption timeout value to be much higher for compute engines. > + */ > if (GRAPHICS_VER(i915) == 12 && (engine->flags & I915_ENGINE_HAS_RCS_REG_STATE)) > - engine->props.preempt_timeout_ms = 0; > + engine->props.preempt_timeout_ms = CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE; > > /* Cap properties according to any system limits */ > #define CLAMP_PROP(field) \ ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev8) 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (3 preceding siblings ...) 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 4/4] drm/i915: Improve long running compute w/a for GuC submission John.C.Harrison @ 2022-10-06 21:57 ` Patchwork 2022-10-06 21:57 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork ` (5 subsequent siblings) 10 siblings, 0 replies; 17+ messages in thread From: Patchwork @ 2022-10-06 21:57 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx == Series Details == Series: Improve anti-pre-emption w/a for compute workloads (rev8) URL : https://patchwork.freedesktop.org/series/100428/ State : warning == Summary == Error: dim checkpatch failed e700b8ded220 drm/i915/guc: Limit scheduling properties to avoid overflow -:45: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'field' - possible side-effects? #45: FILE: drivers/gpu/drm/i915/gt/intel_engine_cs.c:516: +#define CLAMP_PROP(field) \ + do { \ + u64 clamp = intel_clamp_##field(engine, engine->props.field); \ + if (clamp != engine->props.field) { \ + drm_notice(&engine->i915->drm, \ + "Warning, clamping %s to %lld to prevent overflow\n", \ + #field, clamp); \ + engine->props.field = clamp; \ + } \ + } while (0) total: 0 errors, 0 warnings, 1 checks, 223 lines checked 6e67b1a4543c drm/i915: Fix compute pre-emption w/a to apply to compute engines 8d9003ea70cc drm/i915: Make the heartbeat play nice with long pre-emption timeouts f2479b21c994 drm/i915: Improve long running compute w/a for GuC submission ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Improve anti-pre-emption w/a for compute workloads (rev8) 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (4 preceding siblings ...) 2022-10-06 21:57 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev8) Patchwork @ 2022-10-06 21:57 ` Patchwork 2022-10-06 22:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork ` (4 subsequent siblings) 10 siblings, 0 replies; 17+ messages in thread From: Patchwork @ 2022-10-06 21:57 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx == Series Details == Series: Improve anti-pre-emption w/a for compute workloads (rev8) URL : https://patchwork.freedesktop.org/series/100428/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for Improve anti-pre-emption w/a for compute workloads (rev8) 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (5 preceding siblings ...) 2022-10-06 21:57 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork @ 2022-10-06 22:20 ` Patchwork 2022-10-10 19:44 ` John Harrison 2022-10-12 15:34 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev9) Patchwork ` (3 subsequent siblings) 10 siblings, 1 reply; 17+ messages in thread From: Patchwork @ 2022-10-06 22:20 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 7639 bytes --] == Series Details == Series: Improve anti-pre-emption w/a for compute workloads (rev8) URL : https://patchwork.freedesktop.org/series/100428/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12223 -> Patchwork_100428v8 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_100428v8 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_100428v8, 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_100428v8/index.html Participating hosts (42 -> 40) ------------------------------ Missing (2): fi-ctg-p8600 fi-hsw-4200u Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_100428v8: ### IGT changes ### #### Possible regressions #### * igt@i915_selftest@live@migrate: - fi-apl-guc: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-apl-guc/igt@i915_selftest@live@migrate.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-apl-guc/igt@i915_selftest@live@migrate.html Known issues ------------ Here are the changes found in Patchwork_100428v8 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s3@smem: - fi-rkl-11600: NOTRUN -> [FAIL][3] ([fdo#103375]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html * igt@i915_selftest@live@gt_heartbeat: - fi-apl-guc: [PASS][4] -> [DMESG-FAIL][5] ([i915#5334]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_selftest@live@hangcheck: - fi-hsw-g3258: [PASS][6] -> [INCOMPLETE][7] ([i915#3303] / [i915#4785]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html * igt@kms_chamelium@common-hpd-after-suspend: - fi-rkl-11600: NOTRUN -> [SKIP][8] ([fdo#111827]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-rkl-11600/igt@kms_chamelium@common-hpd-after-suspend.html - bat-dg1-5: NOTRUN -> [SKIP][9] ([fdo#111827]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-dg1-5/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_pipe_crc_basic@suspend-read-crc: - bat-dg1-5: NOTRUN -> [SKIP][10] ([i915#4078]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-dg1-5/igt@kms_pipe_crc_basic@suspend-read-crc.html * igt@runner@aborted: - fi-hsw-g3258: NOTRUN -> [FAIL][11] ([fdo#109271] / [i915#4312]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-hsw-g3258/igt@runner@aborted.html #### Possible fixes #### * igt@i915_pm_rpm@module-reload: - {bat-rpls-2}: [DMESG-WARN][12] ([i915#5537]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-rpls-2/igt@i915_pm_rpm@module-reload.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-rpls-2/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live@gt_engines: - bat-dg1-5: [INCOMPLETE][14] ([i915#4418]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-dg1-5/igt@i915_selftest@live@gt_engines.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-dg1-5/igt@i915_selftest@live@gt_engines.html * igt@i915_selftest@live@gt_pm: - {bat-adln-1}: [DMESG-FAIL][16] ([i915#4258]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-adln-1/igt@i915_selftest@live@gt_pm.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-adln-1/igt@i915_selftest@live@gt_pm.html * igt@i915_selftest@live@requests: - {bat-rpls-1}: [INCOMPLETE][18] ([i915#4983] / [i915#6257]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-rpls-1/igt@i915_selftest@live@requests.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-rpls-1/igt@i915_selftest@live@requests.html * igt@i915_suspend@basic-s3-without-i915: - fi-rkl-11600: [INCOMPLETE][20] ([i915#5982]) -> [PASS][21] [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html - {bat-rpls-2}: [FAIL][22] ([i915#6559]) -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867 [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418 [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5537]: https://gitlab.freedesktop.org/drm/intel/issues/5537 [i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982 [i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6559]: https://gitlab.freedesktop.org/drm/intel/issues/6559 Build changes ------------- * Linux: CI_DRM_12223 -> Patchwork_100428v8 CI-20190529: 20190529 CI_DRM_12223: c53a5e48e0405a63cda64682304cd8b391025be3 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7002: 523844c74e7da6b39d856596c28a92f04172035f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_100428v8: c53a5e48e0405a63cda64682304cd8b391025be3 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits e774225914cc drm/i915: Improve long running compute w/a for GuC submission bfcef6af116f drm/i915: Make the heartbeat play nice with long pre-emption timeouts 4141fa7b0427 drm/i915: Fix compute pre-emption w/a to apply to compute engines eff9e2347441 drm/i915/guc: Limit scheduling properties to avoid overflow == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/index.html [-- Attachment #2: Type: text/html, Size: 8404 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for Improve anti-pre-emption w/a for compute workloads (rev8) 2022-10-06 22:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork @ 2022-10-10 19:44 ` John Harrison 2022-10-12 13:54 ` Tvrtko Ursulin 0 siblings, 1 reply; 17+ messages in thread From: John Harrison @ 2022-10-10 19:44 UTC (permalink / raw) To: intel-gfx, Patchwork, Tvrtko Ursulin [-- Attachment #1: Type: text/plain, Size: 8068 bytes --] On 10/6/2022 15:20, Patchwork wrote: > Project List - Patchwork *Patch Details* > *Series:* Improve anti-pre-emption w/a for compute workloads (rev8) > *URL:* https://patchwork.freedesktop.org/series/100428/ > *State:* failure > *Details:* > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/index.html > > > CI Bug Log - changes from CI_DRM_12223 -> Patchwork_100428v8 > > > Summary > > *FAILURE* > > Serious unknown changes coming with Patchwork_100428v8 absolutely need > to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_100428v8, 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_100428v8/index.html > > > Participating hosts (42 -> 40) > > Missing (2): fi-ctg-p8600 fi-hsw-4200u > > > Possible new issues > > Here are the unknown changes that may have been introduced in > Patchwork_100428v8: > > > IGT changes > > > Possible regressions > > * igt@i915_selftest@live@migrate: > o fi-apl-guc: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-apl-guc/igt@i915_selftest@live@migrate.html> > -> INCOMPLETE > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-apl-guc/igt@i915_selftest@live@migrate.html> > The logs seems to suggest the test just stopped (with the actual dmesg0 link being corrupted at the end). Seems likely there was a kernel panic followed by reboot. Given that this patch set is only affecting hang detection and recovery and the migrate test is not supposed to hit any hangs, it seems very unlikely this failure is related. Certainly, all previous revisions of this patch set did not any problems with the live@migrate test. John. > * > > > Known issues > > Here are the changes found in Patchwork_100428v8 that come from known > issues: > > > IGT changes > > > Issues hit > > * > > igt@gem_exec_suspend@basic-s3@smem: > > o fi-rkl-11600: NOTRUN -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html> > (fdo#103375 <https://bugs.freedesktop.org/show_bug.cgi?id=103375>) > * > > igt@i915_selftest@live@gt_heartbeat: > > o fi-apl-guc: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html> > -> DMESG-FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html> > (i915#5334 <https://gitlab.freedesktop.org/drm/intel/issues/5334>) > * > > igt@i915_selftest@live@hangcheck: > > o fi-hsw-g3258: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html> > -> INCOMPLETE > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html> > (i915#3303 > <https://gitlab.freedesktop.org/drm/intel/issues/3303> / > i915#4785 <https://gitlab.freedesktop.org/drm/intel/issues/4785>) > * > > igt@kms_chamelium@common-hpd-after-suspend: > > o > > fi-rkl-11600: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-rkl-11600/igt@kms_chamelium@common-hpd-after-suspend.html> > (fdo#111827 <https://bugs.freedesktop.org/show_bug.cgi?id=111827>) > > o > > bat-dg1-5: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-dg1-5/igt@kms_chamelium@common-hpd-after-suspend.html> > (fdo#111827 <https://bugs.freedesktop.org/show_bug.cgi?id=111827>) > > * > > igt@kms_pipe_crc_basic@suspend-read-crc: > > o bat-dg1-5: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-dg1-5/igt@kms_pipe_crc_basic@suspend-read-crc.html> > (i915#4078 <https://gitlab.freedesktop.org/drm/intel/issues/4078>) > * > > igt@runner@aborted: > > o fi-hsw-g3258: NOTRUN -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-hsw-g3258/igt@runner@aborted.html> > (fdo#109271 > <https://bugs.freedesktop.org/show_bug.cgi?id=109271> / > i915#4312 <https://gitlab.freedesktop.org/drm/intel/issues/4312>) > > > Possible fixes > > * > > igt@i915_pm_rpm@module-reload: > > o {bat-rpls-2}: DMESG-WARN > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-rpls-2/igt@i915_pm_rpm@module-reload.html> > (i915#5537 > <https://gitlab.freedesktop.org/drm/intel/issues/5537>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-rpls-2/igt@i915_pm_rpm@module-reload.html> > * > > igt@i915_selftest@live@gt_engines: > > o bat-dg1-5: INCOMPLETE > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-dg1-5/igt@i915_selftest@live@gt_engines.html> > (i915#4418 > <https://gitlab.freedesktop.org/drm/intel/issues/4418>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-dg1-5/igt@i915_selftest@live@gt_engines.html> > * > > igt@i915_selftest@live@gt_pm: > > o {bat-adln-1}: DMESG-FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-adln-1/igt@i915_selftest@live@gt_pm.html> > (i915#4258 > <https://gitlab.freedesktop.org/drm/intel/issues/4258>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-adln-1/igt@i915_selftest@live@gt_pm.html> > * > > igt@i915_selftest@live@requests: > > o {bat-rpls-1}: INCOMPLETE > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-rpls-1/igt@i915_selftest@live@requests.html> > (i915#4983 > <https://gitlab.freedesktop.org/drm/intel/issues/4983> / > i915#6257 > <https://gitlab.freedesktop.org/drm/intel/issues/6257>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-rpls-1/igt@i915_selftest@live@requests.html> > * > > igt@i915_suspend@basic-s3-without-i915: > > o > > fi-rkl-11600: INCOMPLETE > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html> > (i915#5982 > <https://gitlab.freedesktop.org/drm/intel/issues/5982>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html> > > o > > {bat-rpls-2}: FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html> > (i915#6559 > <https://gitlab.freedesktop.org/drm/intel/issues/6559>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html> > > {name}: This element is suppressed. This means it is ignored when > computing > the status of the difference (SUCCESS, WARNING, or FAILURE). > > > Build changes > > * Linux: CI_DRM_12223 -> Patchwork_100428v8 > > CI-20190529: 20190529 > CI_DRM_12223: c53a5e48e0405a63cda64682304cd8b391025be3 @ > git://anongit.freedesktop.org/gfx-ci/linux > IGT_7002: 523844c74e7da6b39d856596c28a92f04172035f @ > https://gitlab.freedesktop.org/drm/igt-gpu-tools.git > Patchwork_100428v8: c53a5e48e0405a63cda64682304cd8b391025be3 @ > git://anongit.freedesktop.org/gfx-ci/linux > > > Linux commits > > e774225914cc drm/i915: Improve long running compute w/a for GuC submission > bfcef6af116f drm/i915: Make the heartbeat play nice with long > pre-emption timeouts > 4141fa7b0427 drm/i915: Fix compute pre-emption w/a to apply to compute > engines > eff9e2347441 drm/i915/guc: Limit scheduling properties to avoid overflow > [-- Attachment #2: Type: text/html, Size: 11934 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for Improve anti-pre-emption w/a for compute workloads (rev8) 2022-10-10 19:44 ` John Harrison @ 2022-10-12 13:54 ` Tvrtko Ursulin 0 siblings, 0 replies; 17+ messages in thread From: Tvrtko Ursulin @ 2022-10-12 13:54 UTC (permalink / raw) To: John Harrison, intel-gfx, Patchwork On 10/10/2022 20:44, John Harrison wrote: > On 10/6/2022 15:20, Patchwork wrote: >> Project List - Patchwork *Patch Details* >> *Series:* Improve anti-pre-emption w/a for compute workloads (rev8) >> *URL:* https://patchwork.freedesktop.org/series/100428/ >> *State:* failure >> *Details:* >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/index.html >> >> >> CI Bug Log - changes from CI_DRM_12223 -> Patchwork_100428v8 >> >> >> Summary >> >> *FAILURE* >> >> Serious unknown changes coming with Patchwork_100428v8 absolutely need >> to be >> verified manually. >> >> If you think the reported changes have nothing to do with the changes >> introduced in Patchwork_100428v8, 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_100428v8/index.html >> >> >> Participating hosts (42 -> 40) >> >> Missing (2): fi-ctg-p8600 fi-hsw-4200u >> >> >> Possible new issues >> >> Here are the unknown changes that may have been introduced in >> Patchwork_100428v8: >> >> >> IGT changes >> >> >> Possible regressions >> >> * igt@i915_selftest@live@migrate: >> o fi-apl-guc: PASS >> <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12223/fi-apl-guc/igt@i915_selftest@live@migrate.html> -> INCOMPLETE <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v8/fi-apl-guc/igt@i915_selftest@live@migrate.html> >> > The logs seems to suggest the test just stopped (with the actual dmesg0 > link being corrupted at the end). Seems likely there was a kernel panic > followed by reboot. Given that this patch set is only affecting hang > detection and recovery and the migrate test is not supposed to hit any > hangs, it seems very unlikely this failure is related. Certainly, all > previous revisions of this patch set did not any problems with the > live@migrate test. I happened in the past: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12221/fi-apl-guc/igt@i915_selftest@live@migrate.html So I think you can ignore it. Regards, Tvrtko ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev9) 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (6 preceding siblings ...) 2022-10-06 22:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork @ 2022-10-12 15:34 ` Patchwork 2022-10-12 15:34 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork ` (2 subsequent siblings) 10 siblings, 0 replies; 17+ messages in thread From: Patchwork @ 2022-10-12 15:34 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx == Series Details == Series: Improve anti-pre-emption w/a for compute workloads (rev9) URL : https://patchwork.freedesktop.org/series/100428/ State : warning == Summary == Error: dim checkpatch failed 9800096289da drm/i915/guc: Limit scheduling properties to avoid overflow -:45: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'field' - possible side-effects? #45: FILE: drivers/gpu/drm/i915/gt/intel_engine_cs.c:516: +#define CLAMP_PROP(field) \ + do { \ + u64 clamp = intel_clamp_##field(engine, engine->props.field); \ + if (clamp != engine->props.field) { \ + drm_notice(&engine->i915->drm, \ + "Warning, clamping %s to %lld to prevent overflow\n", \ + #field, clamp); \ + engine->props.field = clamp; \ + } \ + } while (0) total: 0 errors, 0 warnings, 1 checks, 223 lines checked c9422f2faa2f drm/i915: Fix compute pre-emption w/a to apply to compute engines 050d246ba629 drm/i915: Make the heartbeat play nice with long pre-emption timeouts 3c4b0052c2cb drm/i915: Improve long running compute w/a for GuC submission ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Improve anti-pre-emption w/a for compute workloads (rev9) 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (7 preceding siblings ...) 2022-10-12 15:34 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev9) Patchwork @ 2022-10-12 15:34 ` Patchwork 2022-10-12 15:54 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-10-12 23:55 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 10 siblings, 0 replies; 17+ messages in thread From: Patchwork @ 2022-10-12 15:34 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx == Series Details == Series: Improve anti-pre-emption w/a for compute workloads (rev9) URL : https://patchwork.freedesktop.org/series/100428/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for Improve anti-pre-emption w/a for compute workloads (rev9) 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (8 preceding siblings ...) 2022-10-12 15:34 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork @ 2022-10-12 15:54 ` Patchwork 2022-10-12 23:55 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 10 siblings, 0 replies; 17+ messages in thread From: Patchwork @ 2022-10-12 15:54 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 5806 bytes --] == Series Details == Series: Improve anti-pre-emption w/a for compute workloads (rev9) URL : https://patchwork.freedesktop.org/series/100428/ State : success == Summary == CI Bug Log - changes from CI_DRM_12238 -> Patchwork_100428v9 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/index.html Participating hosts (45 -> 44) ------------------------------ Missing (1): fi-ctg-p8600 Known issues ------------ Here are the changes found in Patchwork_100428v9 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s3@smem: - fi-icl-u2: [PASS][1] -> [DMESG-WARN][2] ([i915#2867]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/fi-icl-u2/igt@gem_exec_suspend@basic-s3@smem.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/fi-icl-u2/igt@gem_exec_suspend@basic-s3@smem.html * igt@i915_selftest@live@gt_lrc: - fi-rkl-guc: [PASS][3] -> [INCOMPLETE][4] ([i915#4983]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html * igt@i915_suspend@basic-s3-without-i915: - fi-rkl-11600: [PASS][5] -> [INCOMPLETE][6] ([i915#5982]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html #### Possible fixes #### * igt@gem_huc_copy@huc-copy: - {bat-atsm-1}: [FAIL][7] ([i915#7029]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/bat-atsm-1/igt@gem_huc_copy@huc-copy.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/bat-atsm-1/igt@gem_huc_copy@huc-copy.html - {bat-dg2-8}: [FAIL][9] ([i915#7029]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/bat-dg2-8/igt@gem_huc_copy@huc-copy.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/bat-dg2-8/igt@gem_huc_copy@huc-copy.html * igt@i915_module_load@load: - {bat-atsm-1}: [DMESG-WARN][11] ([i915#7031]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/bat-atsm-1/igt@i915_module_load@load.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/bat-atsm-1/igt@i915_module_load@load.html - {bat-dg2-8}: [DMESG-WARN][13] ([i915#7031]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/bat-dg2-8/igt@i915_module_load@load.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/bat-dg2-8/igt@i915_module_load@load.html * igt@i915_module_load@reload: - {bat-rpls-2}: [DMESG-WARN][15] ([i915#5537]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/bat-rpls-2/igt@i915_module_load@reload.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/bat-rpls-2/igt@i915_module_load@reload.html * igt@i915_pm_rpm@basic-rte: - {bat-rplp-1}: [DMESG-WARN][17] ([i915#7077]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/bat-rplp-1/igt@i915_pm_rpm@basic-rte.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/bat-rplp-1/igt@i915_pm_rpm@basic-rte.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5537]: https://gitlab.freedesktop.org/drm/intel/issues/5537 [i915#5828]: https://gitlab.freedesktop.org/drm/intel/issues/5828 [i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818 [i915#7029]: https://gitlab.freedesktop.org/drm/intel/issues/7029 [i915#7031]: https://gitlab.freedesktop.org/drm/intel/issues/7031 [i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077 Build changes ------------- * Linux: CI_DRM_12238 -> Patchwork_100428v9 CI-20190529: 20190529 CI_DRM_12238: 87844a66c86d81ccc88314bd68b9f7292d6b32a5 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7012: ca6f5bdd537d26692c4b1ca011b8c4f227d95703 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_100428v9: 87844a66c86d81ccc88314bd68b9f7292d6b32a5 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits 674bfbe1cd22 drm/i915: Improve long running compute w/a for GuC submission 6833eb84374d drm/i915: Make the heartbeat play nice with long pre-emption timeouts 190f84e307b1 drm/i915: Fix compute pre-emption w/a to apply to compute engines d98d53da594f drm/i915/guc: Limit scheduling properties to avoid overflow == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/index.html [-- Attachment #2: Type: text/html, Size: 6034 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for Improve anti-pre-emption w/a for compute workloads (rev9) 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison ` (9 preceding siblings ...) 2022-10-12 15:54 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2022-10-12 23:55 ` Patchwork 10 siblings, 0 replies; 17+ messages in thread From: Patchwork @ 2022-10-12 23:55 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 23685 bytes --] == Series Details == Series: Improve anti-pre-emption w/a for compute workloads (rev9) URL : https://patchwork.freedesktop.org/series/100428/ State : success == Summary == CI Bug Log - changes from CI_DRM_12238_full -> Patchwork_100428v9_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in Patchwork_100428v9_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@dmabuf@all@dma_fence_chain: - shard-skl: NOTRUN -> [INCOMPLETE][1] ([i915#6949]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl9/igt@dmabuf@all@dma_fence_chain.html * igt@gem_eio@reset-stress: - shard-tglb: [PASS][2] -> [FAIL][3] ([i915#5784]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-tglb3/igt@gem_eio@reset-stress.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-tglb2/igt@gem_eio@reset-stress.html * igt@gem_exec_balancer@parallel-keep-in-fence: - shard-iclb: [PASS][4] -> [SKIP][5] ([i915#4525]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb2/igt@gem_exec_balancer@parallel-keep-in-fence.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb3/igt@gem_exec_balancer@parallel-keep-in-fence.html * igt@gem_exec_fair@basic-flow@rcs0: - shard-tglb: [PASS][6] -> [FAIL][7] ([i915#2842]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [PASS][8] -> [FAIL][9] ([i915#2842]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-glk8/igt@gem_exec_fair@basic-pace-share@rcs0.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk8/igt@gem_exec_fair@basic-pace-share@rcs0.html - shard-apl: [PASS][10] -> [FAIL][11] ([i915#2842]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-apl8/igt@gem_exec_fair@basic-pace-share@rcs0.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl1/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-glk: NOTRUN -> [FAIL][12] ([i915#2842]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk6/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@gem_huc_copy@huc-copy: - shard-tglb: [PASS][13] -> [SKIP][14] ([i915#2190]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-tglb5/igt@gem_huc_copy@huc-copy.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-tglb7/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@massive-random: - shard-glk: NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#4613]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk8/igt@gem_lmem_swapping@massive-random.html * igt@gem_mmap_gtt@fault-concurrent-x: - shard-snb: [PASS][16] -> [INCOMPLETE][17] ([i915#5161]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-snb5/igt@gem_mmap_gtt@fault-concurrent-x.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-snb6/igt@gem_mmap_gtt@fault-concurrent-x.html * igt@gem_userptr_blits@input-checking: - shard-skl: NOTRUN -> [DMESG-WARN][18] ([i915#4991]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl7/igt@gem_userptr_blits@input-checking.html * igt@i915_pipe_stress@stress-xrgb8888-ytiled: - shard-apl: NOTRUN -> [FAIL][19] ([i915#7036]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl3/igt@i915_pipe_stress@stress-xrgb8888-ytiled.html * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a: - shard-glk: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#1937]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html * igt@i915_pm_rpm@modeset-lpsp: - shard-apl: NOTRUN -> [SKIP][21] ([fdo#109271]) +33 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl3/igt@i915_pm_rpm@modeset-lpsp.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-skl: [PASS][22] -> [FAIL][23] ([fdo#103375]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl10/igt@i915_pm_rpm@system-suspend-execbuf.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl3/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@i915_pm_sseu@full-enable: - shard-skl: [PASS][24] -> [FAIL][25] ([i915#7084]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl6/igt@i915_pm_sseu@full-enable.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl6/igt@i915_pm_sseu@full-enable.html * igt@kms_addfb_basic@legacy-format: - shard-tglb: [PASS][26] -> [INCOMPLETE][27] ([i915#6987]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-tglb5/igt@kms_addfb_basic@legacy-format.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-tglb7/igt@kms_addfb_basic@legacy-format.html * igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1: - shard-glk: NOTRUN -> [FAIL][28] ([i915#2521]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk8/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1.html * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc: - shard-glk: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#3886]) +7 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk8/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html * igt@kms_chamelium@hdmi-aspect-ratio: - shard-apl: NOTRUN -> [SKIP][30] ([fdo#109271] / [fdo#111827]) +2 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl3/igt@kms_chamelium@hdmi-aspect-ratio.html * igt@kms_color_chamelium@ctm-0-50: - shard-skl: NOTRUN -> [SKIP][31] ([fdo#109271] / [fdo#111827]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl7/igt@kms_color_chamelium@ctm-0-50.html * igt@kms_color_chamelium@ctm-limited-range: - shard-glk: NOTRUN -> [SKIP][32] ([fdo#109271] / [fdo#111827]) +8 similar issues [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk6/igt@kms_color_chamelium@ctm-limited-range.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions: - shard-glk: [PASS][33] -> [FAIL][34] ([i915#2346]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor@toggle: - shard-iclb: [PASS][35] -> [FAIL][36] ([i915#2346]) +2 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb1/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a2: - shard-glk: [PASS][37] -> [FAIL][38] ([i915#2122]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-glk8/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a2.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk8/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a2.html * igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode: - shard-iclb: NOTRUN -> [SKIP][39] ([i915#3555]) +1 similar issue [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode: - shard-iclb: NOTRUN -> [SKIP][40] ([i915#2672]) +2 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-valid-mode: - shard-glk: [PASS][41] -> [FAIL][42] ([i915#1888]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-glk2/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-valid-mode.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk5/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode: - shard-iclb: NOTRUN -> [SKIP][43] ([i915#2587] / [i915#2672]) +1 similar issue [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt: - shard-skl: NOTRUN -> [SKIP][44] ([fdo#109271]) +8 similar issues [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl9/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt.html * igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1: - shard-glk: NOTRUN -> [FAIL][45] ([i915#4573]) +2 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk6/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1.html * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1: - shard-iclb: [PASS][46] -> [SKIP][47] ([i915#5176]) +2 similar issues [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb5/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb2/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf: - shard-skl: NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#658]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl9/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_su@frontbuffer-xrgb8888: - shard-glk: NOTRUN -> [SKIP][49] ([fdo#109271] / [i915#658]) +3 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk8/igt@kms_psr2_su@frontbuffer-xrgb8888.html * igt@kms_psr2_su@page_flip-p010@pipe-b-edp-1: - shard-iclb: NOTRUN -> [FAIL][50] ([i915#5939]) +2 similar issues [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb2/igt@kms_psr2_su@page_flip-p010@pipe-b-edp-1.html * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: [PASS][51] -> [SKIP][52] ([fdo#109441]) +1 similar issue [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb3/igt@kms_psr@psr2_primary_page_flip.html * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90: - shard-glk: NOTRUN -> [SKIP][53] ([fdo#109271]) +108 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk9/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html * igt@kms_writeback@writeback-pixel-formats: - shard-apl: NOTRUN -> [SKIP][54] ([fdo#109271] / [i915#2437]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl3/igt@kms_writeback@writeback-pixel-formats.html * igt@perf@polling-parameterized: - shard-skl: [PASS][55] -> [FAIL][56] ([i915#5639]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl6/igt@perf@polling-parameterized.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl6/igt@perf@polling-parameterized.html * igt@perf@stress-open-close: - shard-glk: [PASS][57] -> [INCOMPLETE][58] ([i915#5213]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-glk9/igt@perf@stress-open-close.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk3/igt@perf@stress-open-close.html * igt@syncobj_wait@reset-during-wait-for-submit: - shard-skl: [PASS][59] -> [DMESG-WARN][60] ([i915#1982]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl9/igt@syncobj_wait@reset-during-wait-for-submit.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl10/igt@syncobj_wait@reset-during-wait-for-submit.html * igt@sysfs_clients@recycle: - shard-glk: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#2994]) +1 similar issue [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-glk9/igt@sysfs_clients@recycle.html #### Possible fixes #### * igt@gem_exec_balancer@parallel-bb-first: - shard-iclb: [SKIP][62] ([i915#4525]) -> [PASS][63] +1 similar issue [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb6/igt@gem_exec_balancer@parallel-bb-first.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb1/igt@gem_exec_balancer@parallel-bb-first.html * igt@gen9_exec_parse@bb-large: - shard-apl: [TIMEOUT][64] ([i915#4639]) -> [PASS][65] [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-apl1/igt@gen9_exec_parse@bb-large.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl2/igt@gen9_exec_parse@bb-large.html * igt@i915_selftest@live@gt_heartbeat: - shard-skl: [DMESG-FAIL][66] ([i915#5334]) -> [PASS][67] [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl10/igt@i915_selftest@live@gt_heartbeat.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl7/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-apl: [DMESG-WARN][68] ([i915#180]) -> [PASS][69] [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-apl3/igt@i915_suspend@fence-restore-tiled2untiled.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl3/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_async_flips@alternate-sync-async-flip@pipe-b-edp-1: - shard-skl: [FAIL][70] ([i915#2521]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl6/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-edp-1.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl6/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-edp-1.html * igt@kms_flip@dpms-vs-vblank-race-interruptible@b-edp1: - shard-skl: [FAIL][72] ([i915#407]) -> [PASS][73] [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl9/igt@kms_flip@dpms-vs-vblank-race-interruptible@b-edp1.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl7/igt@kms_flip@dpms-vs-vblank-race-interruptible@b-edp1.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1: - shard-skl: [FAIL][74] ([i915#2122]) -> [PASS][75] +1 similar issue [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-skl3/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-skl10/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode: - shard-iclb: [SKIP][76] ([i915#3555]) -> [PASS][77] [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1: - shard-iclb: [SKIP][78] ([i915#5235]) -> [PASS][79] +2 similar issues [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html * igt@perf@polling-parameterized: - shard-iclb: [FAIL][80] ([i915#5639]) -> [PASS][81] [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb1/igt@perf@polling-parameterized.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb1/igt@perf@polling-parameterized.html #### Warnings #### * igt@gem_exec_balancer@parallel-ordering: - shard-iclb: [SKIP][82] ([i915#4525]) -> [FAIL][83] ([i915#6117]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb5/igt@gem_exec_balancer@parallel-ordering.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb2/igt@gem_exec_balancer@parallel-ordering.html * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf: - shard-iclb: [SKIP][84] ([i915#658]) -> [SKIP][85] ([i915#2920]) [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb5/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf: - shard-iclb: [SKIP][86] ([i915#2920]) -> [SKIP][87] ([i915#658]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb3/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area: - shard-iclb: [SKIP][88] ([fdo#111068] / [i915#658]) -> [SKIP][89] ([i915#2920]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-iclb5/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html * igt@runner@aborted: - shard-apl: ([FAIL][90], [FAIL][91], [FAIL][92]) ([i915#180] / [i915#3002] / [i915#4312]) -> ([FAIL][93], [FAIL][94]) ([i915#3002] / [i915#4312]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-apl8/igt@runner@aborted.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-apl7/igt@runner@aborted.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12238/shard-apl3/igt@runner@aborted.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl6/igt@runner@aborted.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_100428v9/shard-apl2/igt@runner@aborted.html [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994 [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#407]: https://gitlab.freedesktop.org/drm/intel/issues/407 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4639]: https://gitlab.freedesktop.org/drm/intel/issues/4639 [i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991 [i915#5161]: https://gitlab.freedesktop.org/drm/intel/issues/5161 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5639]: https://gitlab.freedesktop.org/drm/intel/issues/5639 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939 [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6949]: https://gitlab.freedesktop.org/drm/intel/issues/6949 [i915#6987]: https://gitlab.freedesktop.org/drm/intel/issues/6987 [i915#7036]: https://gitlab.freedesktop.org/drm/intel/issues/7036 [i915#7084]: https://gitlab.freedesktop.org/drm/intel/issues/7084 Build changes ------------- * Linux: CI_DRM_12238 -> Patchwork_100428v9 CI-20190529: 20190529 CI_DRM_12238: 87844a66c86d81ccc88314bd68b9f7292d6b32a5 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7012: ca6f5bdd537d26692c4b1ca011b8c4f227d95703 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_100428v9: 87844a66c86d81ccc88314bd68b9f7292d6b32a5 @ 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_100428v9/index.html [-- Attachment #2: Type: text/html, Size: 27949 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2022-10-18 0:09 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-10-06 21:38 [Intel-gfx] [PATCH v5 0/4] Improve anti-pre-emption w/a for compute workloads John.C.Harrison 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow John.C.Harrison 2022-10-18 0:06 ` Ceraolo Spurio, Daniele 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 2/4] drm/i915: Fix compute pre-emption w/a to apply to compute engines John.C.Harrison 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 3/4] drm/i915: Make the heartbeat play nice with long pre-emption timeouts John.C.Harrison 2022-10-07 8:44 ` Tvrtko Ursulin 2022-10-06 21:38 ` [Intel-gfx] [PATCH v5 4/4] drm/i915: Improve long running compute w/a for GuC submission John.C.Harrison 2022-10-18 0:09 ` Ceraolo Spurio, Daniele 2022-10-06 21:57 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev8) Patchwork 2022-10-06 21:57 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2022-10-06 22:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork 2022-10-10 19:44 ` John Harrison 2022-10-12 13:54 ` Tvrtko Ursulin 2022-10-12 15:34 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Improve anti-pre-emption w/a for compute workloads (rev9) Patchwork 2022-10-12 15:34 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2022-10-12 15:54 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-10-12 23:55 ` [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