When running multiple graphical application and vram is saturated, the
excessive swapping triggers the BUG_ON() in dma_resv_add_fences. The
root cause is that calling dma_resv_reserve_fences twice would shadow
the second call and this happens in amdgpu_cs_ioctl/amdgpu_gem_va_ioctl
path shadowing reserve calls made in ttm.

The first patch fixes a missing reserve surfaced by the stricter reserve
check below.

The second patch reworks dma_resv_reserve_fences to allow it to be called
multiple times. It also makes the error check more percise and less
costly, hopefully this would catch missing reserve more reliably.


Reply via email to