Re: [PATCH] drm/amdgpu: optimize list operation in amdgpu_xgmi

2021-02-03 Thread Wang, Kevin(Yang)
[AMD Official Use Only - Internal Distribution Only]

thanks Felix,
I will continue to optimize related codes in the future.

Best Regards,
Kevin

From: Kuehling, Felix 
Sent: Wednesday, February 3, 2021 9:53 PM
To: Wang, Kevin(Yang) ; amd-gfx@lists.freedesktop.org 

Cc: Li, Dennis 
Subject: Re: [PATCH] drm/amdgpu: optimize list operation in amdgpu_xgmi

Looks good to me. I see some more redundant code in that function, if
you want to clean it up further:
> hive = kzalloc(sizeof(*hive), GFP_KERNEL);
> if (!hive) {
> dev_err(adev->dev, "XGMI: allocation failed\n");
> hive = NULL;
No need to set hive to NULL. The condition above is only true if it's
already NULL. Also you don't need to print error messages for
out-of-memory errors, because kzalloc will be very noisy if it fails anyway.

> goto pro_end;
> }

Either way, this patch is:
Reviewed-by: Felix Kuehling 

Am 2021-02-03 um 4:42 a.m. schrieb Kevin Wang:
> simplify the list opertion.
>
> Signed-off-by: Kevin Wang 
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 10 --
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index 541ef6be390f..659b385b27b5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -324,7 +324,7 @@ static void amdgpu_xgmi_sysfs_rem_dev_info(struct 
> amdgpu_device *adev,
>
>  struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct amdgpu_device *adev)
>  {
> - struct amdgpu_hive_info *hive = NULL, *tmp = NULL;
> + struct amdgpu_hive_info *hive = NULL;
>int ret;
>
>if (!adev->gmc.xgmi.hive_id)
> @@ -337,11 +337,9 @@ struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct 
> amdgpu_device *adev)
>
>mutex_lock(_mutex);
>
> - if (!list_empty(_hive_list)) {
> - list_for_each_entry_safe(hive, tmp, _hive_list, node)  {
> - if (hive->hive_id == adev->gmc.xgmi.hive_id)
> - goto pro_end;
> - }
> + list_for_each_entry(hive, _hive_list, node)  {
> + if (hive->hive_id == adev->gmc.xgmi.hive_id)
> + goto pro_end;
>}
>
>hive = kzalloc(sizeof(*hive), GFP_KERNEL);
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amdgpu: optimize list operation in amdgpu_xgmi

2021-02-03 Thread Felix Kuehling
Looks good to me. I see some more redundant code in that function, if
you want to clean it up further:
>     hive = kzalloc(sizeof(*hive), GFP_KERNEL);
>     if (!hive) {
>     dev_err(adev->dev, "XGMI: allocation failed\n");
>     hive = NULL;
No need to set hive to NULL. The condition above is only true if it's
already NULL. Also you don't need to print error messages for
out-of-memory errors, because kzalloc will be very noisy if it fails anyway.

>     goto pro_end;
>     }

Either way, this patch is:
Reviewed-by: Felix Kuehling 

Am 2021-02-03 um 4:42 a.m. schrieb Kevin Wang:
> simplify the list opertion.
>
> Signed-off-by: Kevin Wang 
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 10 --
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index 541ef6be390f..659b385b27b5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -324,7 +324,7 @@ static void amdgpu_xgmi_sysfs_rem_dev_info(struct 
> amdgpu_device *adev,
>  
>  struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct amdgpu_device *adev)
>  {
> - struct amdgpu_hive_info *hive = NULL, *tmp = NULL;
> + struct amdgpu_hive_info *hive = NULL;
>   int ret;
>  
>   if (!adev->gmc.xgmi.hive_id)
> @@ -337,11 +337,9 @@ struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct 
> amdgpu_device *adev)
>  
>   mutex_lock(_mutex);
>  
> - if (!list_empty(_hive_list)) {
> - list_for_each_entry_safe(hive, tmp, _hive_list, node)  {
> - if (hive->hive_id == adev->gmc.xgmi.hive_id)
> - goto pro_end;
> - }
> + list_for_each_entry(hive, _hive_list, node)  {
> + if (hive->hive_id == adev->gmc.xgmi.hive_id)
> + goto pro_end;
>   }
>  
>   hive = kzalloc(sizeof(*hive), GFP_KERNEL);
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[PATCH] drm/amdgpu: optimize list operation in amdgpu_xgmi

2021-02-03 Thread Kevin Wang
simplify the list opertion.

Signed-off-by: Kevin Wang 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index 541ef6be390f..659b385b27b5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -324,7 +324,7 @@ static void amdgpu_xgmi_sysfs_rem_dev_info(struct 
amdgpu_device *adev,
 
 struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct amdgpu_device *adev)
 {
-   struct amdgpu_hive_info *hive = NULL, *tmp = NULL;
+   struct amdgpu_hive_info *hive = NULL;
int ret;
 
if (!adev->gmc.xgmi.hive_id)
@@ -337,11 +337,9 @@ struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct 
amdgpu_device *adev)
 
mutex_lock(_mutex);
 
-   if (!list_empty(_hive_list)) {
-   list_for_each_entry_safe(hive, tmp, _hive_list, node)  {
-   if (hive->hive_id == adev->gmc.xgmi.hive_id)
-   goto pro_end;
-   }
+   list_for_each_entry(hive, _hive_list, node)  {
+   if (hive->hive_id == adev->gmc.xgmi.hive_id)
+   goto pro_end;
}
 
hive = kzalloc(sizeof(*hive), GFP_KERNEL);
-- 
2.17.1

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