Quoting Chris Wilson (2018-08-01 18:04:19) > Currently, we note congestion for the slow start ramping up of RPS only > when we overshoot the target workload and have to reverse direction for > our reclocking. That is, if we have a period where the current GPU > frequency is enough to sustain the workload within our target > utilisation, we should not trigger any RPS EI interrupts, and then may > continue again with the previous last_adj after multiple periods causing > us to dramatically overreact. To prevent us not noticing a period where > the system is behaving correctly, we can schedule an extra interrupt > that will not be associated with either an up or down event causing to > reset last_adj back to zero, cancelling the slow start due to the > congestion. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_irq.c | 13 +++++++++---- > drivers/gpu/drm/i915/intel_pm.c | 15 +++++++++++---- > 2 files changed, 20 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 90628a47ae17..e2ee1e13cec7 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -1297,6 +1297,7 @@ static void gen6_pm_rps_work(struct work_struct *work) > goto out; > > mutex_lock(&dev_priv->pcu_lock); > + dev_priv->pm_rps_events &= ~GEN6_PM_RP_DOWN_EI_EXPIRED; > > pm_iir |= vlv_wa_c0_ei(dev_priv, pm_iir); > > @@ -1310,10 +1311,12 @@ static void gen6_pm_rps_work(struct work_struct *work) > new_delay = rps->boost_freq; > adj = 0; > } else if (pm_iir & GEN6_PM_RP_UP_THRESHOLD) { > - if (adj > 0) > + if (adj > 0) { > + dev_priv->pm_rps_events |= GEN6_PM_RP_DOWN_EI_EXPIRED; > adj *= 2; The original plan was to use UP/DOWN EI as the danger is that the two evaluation intervals are not aligned and so not we may falsely detect congestion in the middle of the ramp. The reason I didn't was we do use UP_EI_EXPIRED for the manual calcs for vlv. Hmm, still it would be better not to mix the wrong EI. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx