Skip to content

Commit dbf3850

Browse files
Yang Wangalexdeucher
authored andcommitted
drm/amdgpu: optimize the printing order of error data
sort error data list to optimize the printing order. Signed-off-by: Yang Wang <[email protected]> Reviewed-by: Hawking Zhang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 0e8af20 commit dbf3850

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <linux/reboot.h>
2929
#include <linux/syscalls.h>
3030
#include <linux/pm_runtime.h>
31+
#include <linux/list_sort.h>
3132

3233
#include "amdgpu.h"
3334
#include "amdgpu_ras.h"
@@ -3665,6 +3666,21 @@ static struct ras_err_node *amdgpu_ras_error_node_new(void)
36653666
return err_node;
36663667
}
36673668

3669+
static int ras_err_info_cmp(void *priv, const struct list_head *a, const struct list_head *b)
3670+
{
3671+
struct ras_err_node *nodea = container_of(a, struct ras_err_node, node);
3672+
struct ras_err_node *nodeb = container_of(b, struct ras_err_node, node);
3673+
struct amdgpu_smuio_mcm_config_info *infoa = &nodea->err_info.mcm_info;
3674+
struct amdgpu_smuio_mcm_config_info *infob = &nodeb->err_info.mcm_info;
3675+
3676+
if (unlikely(infoa->socket_id != infob->socket_id))
3677+
return infoa->socket_id - infob->socket_id;
3678+
else
3679+
return infoa->die_id - infob->die_id;
3680+
3681+
return 0;
3682+
}
3683+
36683684
static struct ras_err_info *amdgpu_ras_error_get_info(struct ras_err_data *err_data,
36693685
struct amdgpu_smuio_mcm_config_info *mcm_info)
36703686
{
@@ -3682,6 +3698,7 @@ static struct ras_err_info *amdgpu_ras_error_get_info(struct ras_err_data *err_d
36823698

36833699
err_data->err_list_count++;
36843700
list_add_tail(&err_node->node, &err_data->err_node_list);
3701+
list_sort(NULL, &err_data->err_node_list, ras_err_info_cmp);
36853702

36863703
return &err_node->err_info;
36873704
}

0 commit comments

Comments
 (0)