[Intel-gfx] [PATCH 2/2] drm/i915: Fix timeout handling in i915_gem_shrinker_vmap
Chris Wilson
chris at chris-wilson.co.uk
Wed Jan 9 15:13:02 UTC 2019
Quoting Tvrtko Ursulin (2019-01-09 15:07:34)
>
> On 09/01/2019 14:23, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2019-01-09 14:12:47)
> >> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> >>
> >> The code tries to grab struct mutex for 5ms every time the unlocked GPU
> >> idle wait succeeds. But the GPU idle wait itself is practically unbound
> >> which means the 5ms timeout might not be honoured.
> >
> > The arbitrary timeout is merely advisory. If we hang, we get to recover
> > everything we can!
>
> You mean if we hang, eg. take more than 5ms to idle, the function bails
> out on the 5ms timeout check, failing to take the lock and free anything? ;)
No, just that I picked 5 _seconds_ as arbitrary timeout. As it now hits
the mutex_lock() path, the whole polling + timeout is kaput. What I
think we should do is use mutex_lock_killable instead.
-Chris
More information about the Intel-gfx
mailing list