[PATCH] drm/amdkfd: Align partition memory size to page size

Felix Kuehling felix.kuehling at amd.com
Fri May 19 20:21:02 UTC 2023


On 2023-05-19 10:19, Philip Yang wrote:
> The compute partition memory size calculated from KFD_XCP_MEMORY_SIZE
> may not align to page size if xcp_mgr->num_xcp_per_mem_partition is 6.
>
> Change the KFD_XCP_MEMORY_SIZE macro to return page align size, so KFD
> node memory size reported in sysfs is page align size, to avoid
> application VRAM allocation failure because application may use the size
> directly and Thunk requires the memory allocation size is page size
> align.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>

Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>


> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> index 5de92c9ab18f..66f80b9ab0c5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> @@ -804,7 +804,7 @@ u64 amdgpu_amdkfd_xcp_memory_size(struct amdgpu_device *adev, int xcp_id)
>   	if (adev->gmc.num_mem_partitions && xcp_id >= 0 && mem_id >= 0) {
>   		tmp = adev->gmc.mem_partitions[mem_id].size;
>   		do_div(tmp, adev->xcp_mgr->num_xcp_per_mem_partition);
> -		return tmp;
> +		return ALIGN_DOWN(tmp, PAGE_SIZE);
>   	} else {
>   		return adev->gmc.real_vram_size;
>   	}


More information about the amd-gfx mailing list