lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ad7af827-7e62-3493-ddfb-443e7f091118@amd.com>
Date:   Tue, 21 Apr 2020 09:41:27 +0200
From:   Christian König <christian.koenig@....com>
To:     1587181464-114215-1-git-send-email-bernard@...o.com,
        Felix Kuehling <Felix.Kuehling@....com>,
        Alex Deucher <alexander.deucher@....com>,
        "David (ChunMing) Zhou" <David1.Zhou@....com>,
        David Airlie <airlied@...ux.ie>,
        Daniel Vetter <daniel@...ll.ch>, amd-gfx@...ts.freedesktop.org,
        dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Cc:     opensource.kernel@...o.com, Bernard Zhao <bernard@...o.com>
Subject: Re: [PATCH V4] amdgpu: reduce no need mutex_lock area

Am 21.04.20 um 09:36 schrieb Bernard Zhao:
> Maybe we could reduce the mutex_lock(&mem->lock)`s protected code area,
> and no need to protect pr_debug.

Well that change looks rather superfluous to me.

This is for freeing memory which by definition can only be done once and 
so the should be exactly zero contention on the lock except in a case of 
an error.

Regards,
Christian.

>
> Signed-off-by: Bernard Zhao <bernard@...o.com>
>
> Changes since V1:
> *commit message improve
>
> Changes since V2:
> *move comment along with the mutex_unlock
>
> Changes since V3:
> *lock protect the if check, there is some possibility of multi-threaded
>   racing modify.
>
> Link for V1:
> *https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fpatchwork%2Fpatch%2F1226588%2F&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7C9f2b2080f4174c421e4f08d7e5c6b899%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637230513976133424&amp;sdata=6wezM%2F%2FjM5uuLblJejS9XFlE9DjWQ5zSt5PsqrfvCVo%3D&amp;reserved=0
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index 327317c54f7c..549bdb429883 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -1289,9 +1289,9 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
>   	mutex_lock(&mem->lock);
>   
>   	if (mem->mapped_to_gpu_memory > 0) {
> +		mutex_unlock(&mem->lock);
>   		pr_debug("BO VA 0x%llx size 0x%lx is still mapped.\n",
>   				mem->va, bo_size);
> -		mutex_unlock(&mem->lock);
>   		return -EBUSY;
>   	}
>   

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ