On 05/09/2018 02:45 PM, Chunming Zhou wrote: > move implemenation from ttm to amdgpu driver. (suggested by Christian) > per-vm-lru is because of per-vm-bo, which has no chance to refresh lru, the nagtive effect is game performance isn't stable. > so all per-vm-bo should have a default order, every per-vm-bo has its priority, relying on its creation index. > When doing CS, if any normal bo is used, then all per-vm-bo should be used, so per-vm-bo prioirty >= normal bo priority. > > Above is per-vm-lru starting point. How do you think that we create the per vm bo as priority 1 and kernel bo as priority 2 accordingly? Will that help to make some improvement? Jerry > > > > Chunming Zhou (13): > ttm: abstruct evictable bo > ttm: allow driver has own lru policy > drm/amdgpu: add lru backend for amdgpu driver > drm/amdgpu: init/fini vm lru > drm/amdgpu: pass vm lru to buffer object > drm/amdgpu: add amdgpu lru implementation > drm/ttm: export ttm_bo_ref_bug > drm/amdgpu: use RB tree instead of link list > drm/amdgpu: add bo index counter > drm/amdgpu: bulk move per vm bo > ttm: export ttm_transfered_destroy > drm/amdgpu: transferred bo doesn't use vm lru > drm/amdgpu: free vm lru when vm fini > > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 5 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 14 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 9 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 4 + > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 7 + > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 242 ++++++++++++++++++++++++++++- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 25 +++ > drivers/gpu/drm/ttm/ttm_bo.c | 92 +++++++---- > drivers/gpu/drm/ttm/ttm_bo_util.c | 3 +- > include/drm/ttm/ttm_bo_driver.h | 52 +++++++ > 12 files changed, 419 insertions(+), 37 deletions(-) >