On Thu, Jun 3, 2021 at 3:28 AM Daniel Vetter <daniel@xxxxxxxx> wrote: > > On Thu, Jun 03, 2021 at 10:25:00AM +0200, Daniel Vetter wrote: > > On Thu, Jun 03, 2021 at 10:24:21AM +0200, Daniel Vetter wrote: > > > On Wed, Jun 02, 2021 at 11:41:48AM -0500, Jason Ekstrand wrote: > > > > This reverts commit 9e31c1fe45d555a948ff66f1f0e3fe1f83ca63f7. Ever > > > > since that commit, we've been having issues where a hang in one client > > > > can propagate to another. In particular, a hang in an app can propagate > > > > to the X server which causes the whole desktop to lock up. > > > > > > I think we need a note to backporters here: > > > > > > "For backporters: Please note that you _must_ have a backport of > > > https://lore.kernel.org/dri-devel/20210602164149.391653-2-jason@xxxxxxxxxxxxxx/ > > > for otherwise backporting just this patch opens up a security bug." Done. > > > Or something like that. > > > > Oh also reordering the patch set so the 2 reverts which are cc: stable are > > first, then the other stuff on top that cleans up the fallout. Done. > Oh also the longer commit message I've done would be nice to add. Or at > least link it or something like that. > > https://lore.kernel.org/dri-devel/20210519101523.688398-1-daniel.vetter@xxxxxxxx/ > > I think I mentioned this on irc, but got lost I guess. Drp. I thought I'd gotten that but I guess I failed. Fixed now. > -Daniel > > > -Daniel > > > > > -Daniel > > > > > > > Signed-off-by: Jason Ekstrand <jason.ekstrand@xxxxxxxxx> > > > > Reported-by: Marcin Slusarz <marcin.slusarz@xxxxxxxxx> > > > > Cc: <stable@xxxxxxxxxxxxxxx> # v5.6+ > > > > Cc: Jason Ekstrand <jason.ekstrand@xxxxxxxxx> > > > > Cc: Marcin Slusarz <marcin.slusarz@xxxxxxxxx> > > > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3080 > > > > Fixes: 9e31c1fe45d5 ("drm/i915: Propagate errors on awaiting already signaled fences") > > > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > > > Reviewed-by: Jon Bloomfield <jon.bloomfield@xxxxxxxxx> > > > > --- > > > > drivers/gpu/drm/i915/i915_request.c | 8 ++------ > > > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > > > > > diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c > > > > index 970d8f4986bbe..b796197c07722 100644 > > > > --- a/drivers/gpu/drm/i915/i915_request.c > > > > +++ b/drivers/gpu/drm/i915/i915_request.c > > > > @@ -1426,10 +1426,8 @@ i915_request_await_execution(struct i915_request *rq, > > > > > > > > do { > > > > fence = *child++; > > > > - if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) { > > > > - i915_sw_fence_set_error_once(&rq->submit, fence->error); > > > > + if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) > > > > continue; > > > > - } > > > > > > > > if (fence->context == rq->fence.context) > > > > continue; > > > > @@ -1527,10 +1525,8 @@ i915_request_await_dma_fence(struct i915_request *rq, struct dma_fence *fence) > > > > > > > > do { > > > > fence = *child++; > > > > - if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) { > > > > - i915_sw_fence_set_error_once(&rq->submit, fence->error); > > > > + if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) > > > > continue; > > > > - } > > > > > > > > /* > > > > * Requests on the same timeline are explicitly ordered, along > > > > -- > > > > 2.31.1 > > > > > > > > > > -- > > > Daniel Vetter > > > Software Engineer, Intel Corporation > > > http://blog.ffwll.ch > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > http://blog.ffwll.ch > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch