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@xxxxxxxxx> > >> > >> 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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx