diff options
| author | Christian König <christian.koenig@amd.com> | 2020-10-06 17:26:42 +0200 | 
|---|---|---|
| committer | Christian König <christian.koenig@amd.com> | 2021-03-24 17:05:25 +0100 | 
| commit | a1f091f8ef2b680a5184db065527612247cb4cae (patch) | |
| tree | 656a35294d816b5334ca4b4bfdca4c1a87a2aa3d /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |
| parent | f9e2a03e110ad0c78e69201f59d18dc1c487efac (diff) | |
drm/ttm: switch to per device LRU lock
Instead of having a global lock for potentially less contention.
Signed-off-by: Christian König <christian.koenig@amd.com>
Tested-by: Nirmoy Das <nirmoy.das@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/424010/
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 9d19078246c8..ae18c0e32347 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -638,15 +638,15 @@ void amdgpu_vm_move_to_lru_tail(struct amdgpu_device *adev,  	struct amdgpu_vm_bo_base *bo_base;  	if (vm->bulk_moveable) { -		spin_lock(&ttm_glob.lru_lock); +		spin_lock(&adev->mman.bdev.lru_lock);  		ttm_bo_bulk_move_lru_tail(&vm->lru_bulk_move); -		spin_unlock(&ttm_glob.lru_lock); +		spin_unlock(&adev->mman.bdev.lru_lock);  		return;  	}  	memset(&vm->lru_bulk_move, 0, sizeof(vm->lru_bulk_move)); -	spin_lock(&ttm_glob.lru_lock); +	spin_lock(&adev->mman.bdev.lru_lock);  	list_for_each_entry(bo_base, &vm->idle, vm_status) {  		struct amdgpu_bo *bo = bo_base->bo; @@ -660,7 +660,7 @@ void amdgpu_vm_move_to_lru_tail(struct amdgpu_device *adev,  						&bo->shadow->tbo.mem,  						&vm->lru_bulk_move);  	} -	spin_unlock(&ttm_glob.lru_lock); +	spin_unlock(&adev->mman.bdev.lru_lock);  	vm->bulk_moveable = true;  } | 
