Re: [PATCH 5/6] drm/i915/gt: Restore ce->signal flush before releasing virtual engine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chris,

> Before we mark the virtual engine as no longer inflight, flush any
> ongoing signaling that may be using the ce->signal_link along the
> previous breadcrumbs. On switch to a new physical engine, that link will
> be inserted into the new set of breadcrumbs, causing confusion to an
> ongoing iterator.
> 
> This patch undoes a last minute mistake introduced into commit
> bab0557c8dca ("drm/i915/gt: Remove virtual breadcrumb before transfer"),
> whereby instead of unconditionally applying the flush, it was only
> applied if the request itself was going to be reused.
> 
> Fixes: bab0557c8dca ("drm/i915/gt: Remove virtual breadcrumb before transfer")
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> index a5b442683c18..6414dbb124a7 100644
> --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> @@ -592,8 +592,6 @@ resubmit_virtual_request(struct i915_request *rq, struct virtual_engine *ve)
>  		 * ce->signal_link.
>  		 */
>  		i915_request_cancel_breadcrumb(rq);
> -		while (atomic_read(&engine->breadcrumbs->signaler_active))
> -			cpu_relax();
>  	}

As you are at it, you can also remove the braces, with that:

Reviewed-by: Andi Shyti <andi.shyti@xxxxxxxxx>

Thanks,
Andi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux