Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > Since commit a6f766f39751 ("drm/i915: Limit ring synchronisation (sw > sempahores) RPS boosts") and commit bcafc4e38b6a ("drm/i915: Limit mmio > flip RPS boosts") we have limited the waitboosting for semaphores and > flips. Ideally we do not want to boost in either of these instances as no > consumer is waiting upon the results. With the introduction of > NO_WAITBOOST Is consumer a synonym for an userspace client in this context? > in the previous patch, we can finally disable these needless boosts. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Seems to do what it advertizes. Might need to change the NO_WAITBOOST define tho as Joonas pointed out. -Mika > --- > drivers/gpu/drm/i915/i915_debugfs.c | 8 +------- > drivers/gpu/drm/i915/i915_drv.h | 2 -- > drivers/gpu/drm/i915/i915_gem.c | 2 +- > drivers/gpu/drm/i915/intel_display.c | 2 +- > drivers/gpu/drm/i915/intel_pm.c | 2 -- > 5 files changed, 3 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c > index 55fd3d9cc448..618f8cf210fc 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -2465,13 +2465,7 @@ static int i915_rps_boost_info(struct seq_file *m, void *data) > list_empty(&file_priv->rps.link) ? "" : ", active"); > rcu_read_unlock(); > } > - seq_printf(m, "Semaphore boosts: %d%s\n", > - dev_priv->rps.semaphores.boosts, > - list_empty(&dev_priv->rps.semaphores.link) ? "" : ", active"); > - seq_printf(m, "MMIO flip boosts: %d%s\n", > - dev_priv->rps.mmioflips.boosts, > - list_empty(&dev_priv->rps.mmioflips.link) ? "" : ", active"); > - seq_printf(m, "Kernel boosts: %d\n", dev_priv->rps.boosts); > + seq_printf(m, "Kernel (anonymous) boosts: %d\n", dev_priv->rps.boosts); > spin_unlock(&dev_priv->rps.client_lock); > mutex_unlock(&dev->filelist_mutex); > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index a4767c198413..08d9c081e9c8 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -1195,8 +1195,6 @@ struct intel_gen6_power_mgmt { > struct delayed_work autoenable_work; > unsigned boosts; > > - struct intel_rps_client semaphores, mmioflips; > - > /* manual wa residency calculations */ > struct intel_rps_ei up_ei, down_ei; > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 40cc3da68611..2ec78aa7279e 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -2849,7 +2849,7 @@ __i915_gem_object_sync(struct drm_i915_gem_object *obj, > ret = __i915_wait_request(from_req, > i915->mm.interruptible, > NULL, > - &i915->rps.semaphores); > + NO_WAITBOOST); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 9337d3a7b83d..813c9c3b32ca 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -11473,7 +11473,7 @@ static void intel_mmio_flip_work_func(struct work_struct *w) > if (work->flip_queued_req) > WARN_ON(__i915_wait_request(work->flip_queued_req, > false, NULL, > - &dev_priv->rps.mmioflips)); > + NO_WAITBOOST)); > > /* For framebuffer backed by dmabuf, wait for fence */ > resv = i915_gem_object_get_dmabuf_resv(obj); > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index fa6b341c2792..a1bf5f8fbb1c 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -7810,8 +7810,6 @@ void intel_pm_setup(struct drm_device *dev) > INIT_DELAYED_WORK(&dev_priv->rps.autoenable_work, > __intel_autoenable_gt_powersave); > INIT_LIST_HEAD(&dev_priv->rps.clients); > - INIT_LIST_HEAD(&dev_priv->rps.semaphores.link); > - INIT_LIST_HEAD(&dev_priv->rps.mmioflips.link); > > dev_priv->pm.suspended = false; > atomic_set(&dev_priv->pm.wakeref_count, 0); > -- > 2.8.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx