[PATCH] drm/amdgpu: Add mutex locking to VMID Manager Initialization for Process Isolation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This commit adds mutex locking to the `amdgpu_vmid_mgr_init` function.
By acquiring and releasing the `enforce_isolation_mutex`, so that it now
safely allocates reserved VMIDs, which is important for enforcing
isolation between different GPU processes.

Mutex ensures that the process of allocating VMIDs is done
correctly and without interference

Fixes: 96595204195d ("drm/amdgpu: Make enforce_isolation setting per GPU")
Cc: Christian König <christian.koenig@xxxxxxx>
Cc: Alex Deucher <alexander.deucher@xxxxxxx>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@xxxxxxx>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c
index 8e712a11aba5..6ae835a7f031 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c
@@ -602,10 +602,12 @@ void amdgpu_vmid_mgr_init(struct amdgpu_device *adev)
 		}
 	}
 	/* alloc a default reserved vmid to enforce isolation */
+	mutex_lock(&adev->enforce_isolation_mutex);
 	for (i = 0; i < (adev->xcp_mgr ? adev->xcp_mgr->num_xcps : 1); i++) {
 		if (adev->enforce_isolation[i])
 			amdgpu_vmid_alloc_reserved(adev, AMDGPU_GFXHUB(i));
 	}
+	mutex_unlock(&adev->enforce_isolation_mutex);
 }
 
 /**
-- 
2.34.1




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux