mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 03:10:12 +00:00
drm/amdkfd: Adjust weight to represent num_hops info when report xgmi iolink
Upper level runtime need the xgmi hops info to determine the data path Signed-off-by: shaoyunl <shaoyun.liu@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
da361dd13f
commit
0fb0df031a
2 changed files with 7 additions and 3 deletions
|
@ -372,7 +372,7 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink,
|
|||
if (props->iolink_type == CRAT_IOLINK_TYPE_PCIEXPRESS)
|
||||
props->weight = 20;
|
||||
else if (props->iolink_type == CRAT_IOLINK_TYPE_XGMI)
|
||||
props->weight = 15;
|
||||
props->weight = 15 * iolink->num_hops_xgmi;
|
||||
else
|
||||
props->weight = node_distance(id_from, id_to);
|
||||
|
||||
|
@ -1092,6 +1092,7 @@ static int kfd_fill_gpu_direct_io_link_to_cpu(int *avail_size,
|
|||
|
||||
static int kfd_fill_gpu_xgmi_link_to_gpu(int *avail_size,
|
||||
struct kfd_dev *kdev,
|
||||
struct kfd_dev *peer_kdev,
|
||||
struct crat_subtype_iolink *sub_type_hdr,
|
||||
uint32_t proximity_domain_from,
|
||||
uint32_t proximity_domain_to)
|
||||
|
@ -1110,6 +1111,8 @@ static int kfd_fill_gpu_xgmi_link_to_gpu(int *avail_size,
|
|||
sub_type_hdr->io_interface_type = CRAT_IOLINK_TYPE_XGMI;
|
||||
sub_type_hdr->proximity_domain_from = proximity_domain_from;
|
||||
sub_type_hdr->proximity_domain_to = proximity_domain_to;
|
||||
sub_type_hdr->num_hops_xgmi =
|
||||
amdgpu_amdkfd_get_xgmi_hops_count(kdev->kgd, peer_kdev->kgd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1287,7 +1290,7 @@ static int kfd_create_vcrat_image_gpu(void *pcrat_image,
|
|||
(char *)sub_type_hdr +
|
||||
sizeof(struct crat_subtype_iolink));
|
||||
ret = kfd_fill_gpu_xgmi_link_to_gpu(
|
||||
&avail_size, kdev,
|
||||
&avail_size, kdev, peer_dev->gpu,
|
||||
(struct crat_subtype_iolink *)sub_type_hdr,
|
||||
proximity_domain, nid);
|
||||
if (ret < 0)
|
||||
|
|
|
@ -274,7 +274,8 @@ struct crat_subtype_iolink {
|
|||
uint32_t minimum_bandwidth_mbs;
|
||||
uint32_t maximum_bandwidth_mbs;
|
||||
uint32_t recommended_transfer_size;
|
||||
uint8_t reserved2[CRAT_IOLINK_RESERVED_LENGTH];
|
||||
uint8_t reserved2[CRAT_IOLINK_RESERVED_LENGTH - 1];
|
||||
uint8_t num_hops_xgmi;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue