Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > When wedged, we do not update the ring->tail as we submit the requests > causing us to leak the ring->space upon cleaning up the wedged driver. > We can just use the value stored in rq->tail, and keep the submission > backend details away from set-wedge. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_request.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c > index efa9ee557f31..69b378a323fc 100644 > --- a/drivers/gpu/drm/i915/i915_request.c > +++ b/drivers/gpu/drm/i915/i915_request.c > @@ -358,7 +358,7 @@ static void advance_ring(struct i915_request *request) > * is just about to be. Either works, if we miss the last two > * noops - they are safe to be replayed on a reset. > */ > - tail = READ_ONCE(request->ring->tail); > + tail = READ_ONCE(request->tail); I tried to think if we need the READ_ONCE here anymore. But as this is the safest version, Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Noticed that request->tail is not cleared on i915_request_alloc. If we would set rq->head = rq->tail = rq->ring->emit we could use rq->head == rq->tail to assert that we screw up something major during the request lifetime. -Mika > } else { > tail = request->postfix; > } > -- > 2.16.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx