All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 7/9] drm/i915: Disable waitboosting for	mmioflips/semaphores
Date: Fri, 15 Jul 2016 15:26:55 +0300	[thread overview]
Message-ID: <87zipjnl2o.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <1468577481-4798-8-git-send-email-chris@chris-wilson.co.uk>

Chris Wilson <chris@chris-wilson.co.uk> 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
> in the previous patch, we can finally disable these needless boosts.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>

> ---
>  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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2016-07-15 12:27 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-15 10:11 Derive requests from dma-buf fence Chris Wilson
2016-07-15 10:11 ` [PATCH 1/9] drm/i915: Flush logical context image out to memory upon suspend Chris Wilson
2016-07-15 10:41   ` Mika Kuoppala
2016-07-15 11:11     ` Chris Wilson
2016-07-15 10:11 ` [PATCH 2/9] drm/i915: Move GEM request routines to i915_gem_request.c Chris Wilson
2016-07-15 10:41   ` Joonas Lahtinen
2016-07-15 10:43   ` Mika Kuoppala
2016-07-15 10:11 ` [PATCH 3/9] drm/i915: Retire oldest completed request before allocating next Chris Wilson
2016-07-15 10:11 ` [PATCH 4/9] drm/i915: Mark all current requests as complete before resetting them Chris Wilson
2016-07-15 10:11 ` [PATCH 5/9] drm/i915: Derive GEM requests from dma-fence Chris Wilson
2016-07-15 10:11 ` [PATCH 6/9] drm/i915: Disable waitboosting for fence_wait() Chris Wilson
2016-07-15 10:47   ` Joonas Lahtinen
2016-07-15 11:08     ` Chris Wilson
2016-07-15 11:49       ` Chris Wilson
2016-07-15 12:07         ` Joonas Lahtinen
2016-07-15 10:49   ` Mika Kuoppala
2016-07-15 11:06     ` Chris Wilson
2016-07-15 11:53   ` [PATCH v2] " Chris Wilson
2016-07-15 12:25     ` Mika Kuoppala
2016-07-15 10:11 ` [PATCH 7/9] drm/i915: Disable waitboosting for mmioflips/semaphores Chris Wilson
2016-07-15 11:08   ` Mika Kuoppala
2016-07-15 12:50     ` Chris Wilson
2016-07-15 12:26   ` Mika Kuoppala [this message]
2016-07-15 10:11 ` [PATCH 8/9] drm/i915: Wait on external rendering for GEM objects Chris Wilson
2016-07-18 10:18   ` Chris Wilson
2016-07-19  6:45     ` Daniel Vetter
2016-07-15 10:11 ` [PATCH 9/9] drm/i915: Mark imported dma-buf objects as being coherent Chris Wilson
2016-07-15 11:33   ` Mika Kuoppala
2016-07-15 10:48 ` ✗ Ro.CI.BAT: failure for series starting with [1/9] drm/i915: Flush logical context image out to memory upon suspend Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zipjnl2o.fsf@gaia.fi.intel.com \
    --to=mika.kuoppala@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.