When to kmap PT BOs?

Zhang, Jerry (Junwei) Jerry.Zhang at amd.com
Thu Aug 30 04:49:25 UTC 2018


On 08/30/2018 06:30 AM, Felix Kuehling wrote:
> Hi,
>
> Currently PT BOs are kmapped in amdgpu_vm_update_directories. That
> means, to avoid kernel oopses after page table evictions, I need to call
> amdgpu_vm_update_directories before calling amdgpu_vm_bo_update.
>
> But amdgpu_vm_bo_update can also move PTs on the vm->relocated list
> during huge page handling. That means I also need to call
> amdgpu_vm_update_directories after amdgpu_vm_bo_update.

Not very familiar with huge page handling.

But from code, maybe we can kmap the PTE entry right here.
Then it will update current non-huge page PTE later in amdgpu_vm_update_ptes().

Regards,
Jerry

>
> I think a better solution is to move kmapping out of
> amdgpu_vm_update_directories. But I'm not sure what's the right place
> for it. Any suggestions? For a quick fix for kernel oopses after page
> table evictions in the ROCm 1.9 release I'll call
> amdgpu_vm_update_directories twice. If there are no new entries on the
> vm->relocated lists, the second call won't add much overhead anyway.
>
> Thanks,
>    Felix
>


More information about the amd-gfx mailing list