[Intel-gfx] [PATCH 1/3] drm/i915: Disable sempahores on Sandybridge

Mika Kuoppala mika.kuoppala at linux.intel.com
Mon Oct 30 12:20:41 UTC 2017


Chris Wilson <chris at chris-wilson.co.uk> writes:

> I should have admitted defeat long ago as there has been a rare but
> persistent error on Sandybridge where semaphore signaling did not
> propagate to the waiter, leading to a GPU hang.
>
> With the work on fence signaling for v4.9, the impact of using CPU driven
> signaling was greatly reduced wrt to the latency of GPU semaphores,
> though without logical rings support, the benefit of reordering work to
> avoid bubbles is not realised (i.e. as it stands fence signaling is just
> a slower, more costly version of HW semaphores; but works more
> consistently). As a rough indicator of the difference,
>
> with semaphores:
> Sequential (3 engines, 1 processes): average 5.470us per cycle [expected 4.988us]
>
> w/o semaphores:
> Sequential (3 engines, 1 processes): average 15.771us per cycle [expected 4.923us]
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54226
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

Acked-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 24d795802eaf..eee699dd376e 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4950,20 +4950,12 @@ int i915_gem_init_hw(struct drm_i915_private *dev_priv)
>  
>  bool intel_sanitize_semaphores(struct drm_i915_private *dev_priv, int value)
>  {
> -	if (INTEL_GEN(dev_priv) < 6)
> -		return false;
> -
> -	/* TODO: make semaphores and Execlists play nicely together */
> -	if (HAS_EXECLISTS(dev_priv))
> +	if (!IS_GEN7(dev_priv))
>  		return false;
>  
>  	if (value >= 0)
>  		return value;
>  
> -	/* Enable semaphores on SNB when IO remapping is off */
> -	if (IS_GEN6(dev_priv) && intel_vtd_active())
> -		return false;
> -
>  	return true;
>  }
>  
> -- 
> 2.15.0.rc2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list