Am 2021-11-08 um 5:22 a.m. schrieb Christian König: > Am 05.11.21 um 20:25 schrieb Alex Sierra: >> 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. > > Unfortunately that is not correct. IIRC every program run inside wine > maps something at the 16-64KiB addresses. > > Don't ask me what that stuff is good for, but we already ran into > problems because of exactly that. It's only a problem if the application tries to map that memory on the GPU through the HMM/SVM API. As long as there is no conflict with GPU mappings created by the application, the GPU can safely use those addresses for its purposes. Regards, Felix > > Regards, > Christian. > >> >> Signed-off-by: Alex Sierra <alex.sierra@xxxxxxx> >> --- >> 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) >> >