Hi Christian, Others. In order to support exhaustive eviction there are some changes that I think needs to be made to drm_exec: 1) Trylock support (This is for ttm_bo_vm, ttm_buffer_object_init_reserved, and also for the eviction path where I think we want to make a trylock pass before a sleeping lock pass). In essence this means we can't leave any contending lock unlocked until the next sleeping lock, but rather need to relock it on drm_exec_retry_on_contention(), meaning that that macro also gets passed and returns an error code to handle -EINTR. 2) Snapshot unlock After successfully obtaining backing store, we want to unlock all evicted objects. So snapshot the drm_exec state when eviction begins, and unlock everything down to the snapshot after successful backing store allocation. Essentially the snapshot contains the number of locked objects and a pointer to the prelocked object. Any concerns? Thanks, Thomas