Op 16-09-2021 om 11:40 schreef Thomas Hellström (Intel): > > On 8/30/21 2:09 PM, Maarten Lankhorst wrote: >> Remove some parts of the i915_vma api, ensure obj->vma always exists, >> and finally force the object lock to be taken when calling i915_vma_unbind >> is called. > > Should this be vma->obj? > Correct, missed that. > >> >> With this, locking is a lot cleaner, and we no longer need all the if (!obj->vma) checks. >> We kill off the locking around i915_vma->set/get pages, and kill off the short-term >> pinning/unpinning in execbuf. >> >> After this, we go 1 step further, populate obj->moving where required, and add support >> for async eviction/clearing. > > Does the async eviction / clearing depend on the vma cleanup? If not can we move that into a separate series? It kind of does. We cannot always require vma->obj to be locked and remove vma locks if we don't have vma->obj all the time.