*** per vm lru ***

Submitted by Zhou, David(ChunMing) on May 9, 2018, 6:45 a.m.

Details

Reviewer None
Submitted May 9, 2018, 6:45 a.m.
Last Updated May 9, 2018, 6:51 a.m.
Revision 1

Cover Letter(s)

Revision 1
      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.



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(-)
    

Revisions