[PATCH] drm/amdgpu: optimize list operation in amdgpu_xgmi
Felix Kuehling
felix.kuehling at amd.com
Wed Feb 3 13:53:44 UTC 2021
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);
More information about the amd-gfx
mailing list