libhsakmt: increase default svm.alignment_order

Since GFX950 can support page table fragment up to 18 without
performance loss. So set GFX950  default svm.alignment_order to 18.

Change-Id: Ibcdb7f041fb07a38e924c471beec261ea227ca1d
Signed-off-by: James Zhu <James.Zhu@amd.com>


[ROCm/ROCR-Runtime commit: 9509af4b98]
Этот коммит содержится в:
James Zhu
2024-11-15 13:46:56 -05:00
коммит произвёл Amber Lin
родитель e262729f6f
Коммит 647b705679
+13 -3
Просмотреть файл
@@ -2550,11 +2550,21 @@ HSAKMT_STATUS hsakmt_fmm_init_process_apertures(unsigned int NumNodes)
guardPages = 1;
/* Sets the max VA alignment order size during mapping. By default the order
* size is set to 9(2MB)
* size is set to 18(1G) for GFX950 to reduce TLB hits. If any non-gfx950
* ASIC is found in the system, set back to 9(2MB).
*/
maxVaAlignStr = getenv("HSA_MAX_VA_ALIGN");
if (!maxVaAlignStr || sscanf(maxVaAlignStr, "%u", &svm.alignment_order) != 1)
svm.alignment_order = 9;
if (!maxVaAlignStr || sscanf(maxVaAlignStr, "%u", &svm.alignment_order) != 1) {
svm.alignment_order = 18;
for (i = 0; i < NumNodes; i++) {
if (hsakmt_get_gfxv_by_node_id(i) != GFX_VERSION_GFX950) {
svm.alignment_order = 9;
break;
}
}
}
pr_info("SVM alignment default order is %d.", svm.alignment_order);
gpu_mem_count = 0;
g_first_gpu_mem = NULL;