linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V4] amdgpu: reduce no need mutex_lock area
@ 2020-04-21  7:36 Bernard Zhao
  2020-04-21  7:41 ` Christian König
  0 siblings, 1 reply; 3+ messages in thread
From: Bernard Zhao @ 2020-04-21  7:36 UTC (permalink / raw)
  To: Felix Kuehling, Alex Deucher, Christian König,
	David (ChunMing) Zhou, David Airlie, Daniel Vetter, amd-gfx,
	dri-devel, linux-kernel
  Cc: opensource.kernel, Bernard Zhao

Maybe we could reduce the mutex_lock(&mem->lock)`s protected code area,
and no need to protect pr_debug.

Signed-off-by: Bernard Zhao <bernard@vivo.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://lore.kernel.org/patchwork/patch/1226588/
---
 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;
 	}
 
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH V4] amdgpu: reduce no need mutex_lock area
  2020-04-21  7:36 [PATCH V4] amdgpu: reduce no need mutex_lock area Bernard Zhao
@ 2020-04-21  7:41 ` Christian König
  2020-04-21  9:10   ` [add Markus.Elfring in mail list ]Re:Re: " 赵军奎
  0 siblings, 1 reply; 3+ messages in thread
From: Christian König @ 2020-04-21  7:41 UTC (permalink / raw)
  To: 1587181464-114215-1-git-send-email-bernard, Felix Kuehling,
	Alex Deucher, David (ChunMing) Zhou, David Airlie, Daniel Vetter,
	amd-gfx, dri-devel, linux-kernel
  Cc: opensource.kernel, Bernard Zhao

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@vivo.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;
>   	}
>   


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [add Markus.Elfring in mail list ]Re:Re: [PATCH V4] amdgpu: reduce no need mutex_lock area
  2020-04-21  7:41 ` Christian König
@ 2020-04-21  9:10   ` 赵军奎
  0 siblings, 0 replies; 3+ messages in thread
From: 赵军奎 @ 2020-04-21  9:10 UTC (permalink / raw)
  To: Christian König
  Cc: Felix Kuehling, Alex Deucher, David (ChunMing) Zhou,
	David Airlie, Daniel Vetter, amd-gfx, dri-devel, linux-kernel,
	opensource.kernel, markus.elfring



From: "Christian König" <christian.koenig@amd.com>
Date: 2020-04-21 15:41:27
To:  1587181464-114215-1-git-send-email-bernard@vivo.com,Felix Kuehling <Felix.Kuehling@amd.com>,Alex Deucher <alexander.deucher@amd.com>,"David (ChunMing) Zhou" <David1.Zhou@amd.com>,David Airlie <airlied@linux.ie>,Daniel Vetter <daniel@ffwll.ch>,amd-gfx@lists.freedesktop.org,dri-devel@lists.freedesktop.org,linux-kernel@vger.kernel.org
Cc:  opensource.kernel@vivo.com,Bernard Zhao <bernard@vivo.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@vivo.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;
>>   	}
>>   
>

add Markus.Elfring in mail list 
Regards,
Bernard



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-04-21  9:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-21  7:36 [PATCH V4] amdgpu: reduce no need mutex_lock area Bernard Zhao
2020-04-21  7:41 ` Christian König
2020-04-21  9:10   ` [add Markus.Elfring in mail list ]Re:Re: " 赵军奎

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).