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

Wang, Kevin(Yang) Kevin1.Wang at amd.com
Wed Feb 3 14:22:35 UTC 2021


[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 <Felix.Kuehling at amd.com>
Sent: Wednesday, February 3, 2021 9:53 PM
To: Wang, Kevin(Yang) <Kevin1.Wang at amd.com>; amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
Cc: Li, Dennis <Dennis.Li at amd.com>
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 <Felix.Kuehling at amd.com>

Am 2021-02-03 um 4:42 a.m. schrieb Kevin Wang:
> simplify the list opertion.
>
> Signed-off-by: Kevin Wang <kevin1.wang at amd.com>
> ---
>  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(&xgmi_mutex);
>
> -     if (!list_empty(&xgmi_hive_list)) {
> -             list_for_each_entry_safe(hive, tmp, &xgmi_hive_list, node)  {
> -                     if (hive->hive_id == adev->gmc.xgmi.hive_id)
> -                             goto pro_end;
> -             }
> +     list_for_each_entry(hive, &xgmi_hive_list, node)  {
> +             if (hive->hive_id == adev->gmc.xgmi.hive_id)
> +                     goto pro_end;
>        }
>
>        hive = kzalloc(sizeof(*hive), GFP_KERNEL);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20210203/0b143119/attachment.htm>


More information about the amd-gfx mailing list