On 11/15/21 18:16, Matthew Auld wrote:
Thanks for reviewing, Matthew,
I'll take a look at the comments.
/Thomas
On 14/11/2021 11:12, Thomas Hellström wrote:
Don't wait sync while migrating, but rather make the GPU blit await the
dependencies and add a moving fence to the object.
This also enables asynchronous VRAM management in that on eviction,
rather than waiting for the moving fence to expire before freeing VRAM,
it is freed immediately and the fence is stored with the VRAM manager
and
handed out to newly allocated objects to await before clears and
swapins,
or for kernel objects before setting up gpu vmas or mapping.
To collect dependencies before migrating, add a set of utilities that
coalesce these to a single dma_fence.
What is still missing for fully asynchronous operation is
asynchronous vma
unbinding, which is still to be implemented.
This commit substantially reduces execution time in the
gem_lmem_swapping
test.
v2:
- Make a couple of functions static.