[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