[PATCH] drm/amdkfd: lower the VAs base offset to 8KB

Felix Kuehling felix.kuehling at amd.com
Fri Nov 5 20:57:25 UTC 2021


On 2021-11-05 3:25 p.m., Alex Sierra wrote:
> The low 16MB of virtual address space are currently reserved for kernel
> mode allocations mapped into user virtual address space. This causes
> conflicts with HMM/SVM mappings at low virtual addresses. We tried to
> move those kernel mode allocations to the upper half of the 64-bit
> virtual address space for GFX9, which is naturally reserved for kernel
> use. However, TBA (trap handler code) has problems to access addresses
> in the high virtual space. We have decided to set this to 8KB of the
> lower address space as a temporary fix, while investigate TBA address
> problem. It is very unlikely for user space to map memory at this low
> region.
>
> Signed-off-by: Alex Sierra <alex.sierra at amd.com>

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


> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c b/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c
> index 2e86692def19..d1388896f9c1 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c
> @@ -308,7 +308,7 @@
>    * 16MB are reserved for kernel use (CWSR trap handler and kernel IB
>    * for now).
>    */
> -#define SVM_USER_BASE 0x1000000ull
> +#define SVM_USER_BASE (u64)(KFD_CWSR_TBA_TMA_SIZE + 2*PAGE_SIZE)
>   #define SVM_CWSR_BASE (SVM_USER_BASE - KFD_CWSR_TBA_TMA_SIZE)
>   #define SVM_IB_BASE   (SVM_CWSR_BASE - PAGE_SIZE)
>   


More information about the amd-gfx mailing list