drm/amdgpu: Avoid setting off KFD eviction fences in amdgpu_vm
authorFelix Kuehling <Felix.Kuehling@amd.com>
Thu, 7 Feb 2019 17:08:14 +0000 (12:08 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 13 Feb 2019 22:50:47 +0000 (17:50 -0500)
Use FENCE_OWNER_KFD to synchronize PT/PD initialization and clearing
of page table entries. This avoids triggering KFD eviction fences on
the PD reservation objects of compute VMs.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index 3f33286c3cd57ca39bbbc0a71385d54321214043..6dda415bb3eeb69bff50bbf01cd8159a5e7e66f0 100644 (file)
@@ -828,7 +828,7 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev,
 
        WARN_ON(job->ibs[0].length_dw > 64);
        r = amdgpu_sync_resv(adev, &job->sync, bo->tbo.resv,
-                            AMDGPU_FENCE_OWNER_UNDEFINED, false);
+                            AMDGPU_FENCE_OWNER_KFD, false);
        if (r)
                goto error_free;
 
@@ -1748,9 +1748,9 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
        params.adev = adev;
        params.vm = vm;
 
-       /* sync to everything on unmapping */
+       /* sync to everything except eviction fences on unmapping */
        if (!(flags & AMDGPU_PTE_VALID))
-               owner = AMDGPU_FENCE_OWNER_UNDEFINED;
+               owner = AMDGPU_FENCE_OWNER_KFD;
 
        if (vm->use_cpu_for_update) {
                /* params.src is used as flag to indicate system Memory */