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 use RB tree for BOs in priority 1 lru. but it actually works for per dev rather than per vm.
Seems we need per vm lru as the patches for per vm 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@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx