[Intel-gfx] [PATCH] drm/i915: Wait for reset to complete before returning from debugfs/i915_wedged
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Mar 10 13:14:33 UTC 2017
On 10/03/2017 12:21, Chris Wilson wrote:
> Provide some serialisation between user operations by waiting for the
> reset initiated by setting i915_wedged to complete.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 115433d46477..a1eccf2ef313 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -4138,6 +4138,10 @@ i915_wedged_set(void *data, u64 val)
> i915_handle_error(dev_priv, val,
> "Manually setting wedged to %llu", val);
>
> + wait_on_bit(&dev_priv->gpu_error.flags,
> + I915_RESET_IN_PROGRESS,
> + TASK_UNINTERRUPTIBLE);
> +
> return 0;
> }
I've spotted that the kerneldoc for wait_on_bit says "One uses
wait_on_bit() where one is waiting for the bit to clear, but has no
intention of setting it."
I assume this is to avoid races, which it seems this new wait also
doesn't avoid. Should it grab struct mutex across wait and handle_error?
Or if not possible what is the benefit of the patch, just something to
help IGT? Could we instead have IGT wait on the reset in progress status
itself by exporting the status? (If we don't already, haven't looked.)
Regards,
Tvrtko
More information about the Intel-gfx
mailing list