On 05/10/2018 04:45 PM, zhoucm1 wrote: > > > On 2018å¹´05æ??10æ?¥ 13:07, Zhang, Jerry (Junwei) wrote: >> 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? > Yeah, then how to fix per-vm-bo order? I think we need set priority for every > per-vm-bo. Because of lacking bo list, the per-vm-bo lru can only depend on > priority. Mmm, maybe we can use RB tree for per vm bo priority lru. But that's actually per dev rather than per vm, I think. Seems we need a per vm lru as your patches for bo management. Jerry > > Regards, > David Zhou > >> 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(-) >>> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx at lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx >