Re: [PATCH 1/3] drm/i915: Disable sempahores on Sandybridge

Mika Kuoppala
2017-10-30T12:21:03Z

Chris Wilson <chris@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@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Acked-by: Mika Kuoppala <mika.kuoppala@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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx