Maybe we could reduce the mutex_lock(&mem->lock)`s protected code area,
and noneed to protect pr_debug.
Signed-off-by: Bernard Zhao <bern...@vivo.com>

Changes since V1:
*commit message improve

Link for V1:
*https://lore.kernel.org/patchwork/patch/1226588/
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 327317c54f7c..3c3769e57174 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -1285,17 +1285,18 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
        struct bo_vm_reservation_context ctx;
        struct ttm_validate_buffer *bo_list_entry;
        int ret;
+       unsigned int mapped_to_gpu_memory;
 
        mutex_lock(&mem->lock);
+       mapped_to_gpu_memory = mem->mapped_to_gpu_memory;
+       mutex_unlock(&mem->lock);
 
-       if (mem->mapped_to_gpu_memory > 0) {
+       if (mapped_to_gpu_memory > 0) {
                pr_debug("BO VA 0x%llx size 0x%lx is still mapped.\n",
                                mem->va, bo_size);
-               mutex_unlock(&mem->lock);
                return -EBUSY;
        }
 
-       mutex_unlock(&mem->lock);
        /* lock is not needed after this, since mem is unused and will
         * be freed anyway
         */
-- 
2.26.2

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to