[PATCH 0/9] WIP: Retry page fault handling for Vega10

Oded Gabbay oded.gabbay at gmail.com
Sun Aug 27 22:22:37 UTC 2017


Hi Felix,
I'm currently on vacation and I will return at the end of the week, so I
will not be able to review the patches until then.

Oded

On Aug 26, 2017 09:19, "Felix Kuehling" <Felix.Kuehling at amd.com> wrote:

> This is based on amd-kfd-staging, because that's easier for me to test.
> I'm planning to port to amd-staging-4.x for submission upstream.
>
> With this patch series, I'm able to turn retry faults on and handle the
> interrupt storm from VM faults. Only the first VM fault interrupt per
> process and address gets handled the usual way. Retry interruptr are
> filtered in a new prescreening stage in amdgpu_ih_process.
>
> Pending faults are tracked in a hash table in IH to detect retry faults
> and a FIFO in the VM for later processing.
>
> Looking up the VM from the fault interrupt depends on the PASID.
> Currently only KFD VMs have proper PASIDs.
>
> TODO (need some help with these):
> * Allocate PASIDs for graphics contexts
> * Setup VMID-PASID mapping during graphics command submission
> * Confirm that graphics page faults have the correct PASID in the IV
>
> Once that's done, we should have a foundation to start working on HMM
> and proper SVM memory management with demand paging.
>
> Felix Kuehling (9):
>   drm/amdgpu: Fix error handling in amdgpu_vm_init
>   drm/amdgpu: Add PASID management
>   drm/radeon: Add PASID manager for KFD
>   drm/amdkfd: Separate doorbell allocation from PASID
>   drm/amdkfd: Use PASID manager from KGD
>   drm/amd: Set the PASID for KFD VMs
>   drm/amdgpu: Add prescreening stage in IH processing
>   lib: Closed hash table with low overhead
>   drm/amdgpu: Track pending retry faults in IH and VM
>
>  drivers/gpu/drm/Kconfig                           |   1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu.h               |   2 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h        |   3 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c |   2 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c |   2 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c |   2 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c  |   6 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c            |  82 ++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ih.h            |  12 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c           |   2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c            |  88 +++-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h            |  21 +-
>  drivers/gpu/drm/amd/amdgpu/cik_ih.c               |  14 +
>  drivers/gpu/drm/amd/amdgpu/cz_ih.c                |  14 +
>  drivers/gpu/drm/amd/amdgpu/iceland_ih.c           |  14 +
>  drivers/gpu/drm/amd/amdgpu/si_ih.c                |  14 +
>  drivers/gpu/drm/amd/amdgpu/tonga_ih.c             |  14 +
>  drivers/gpu/drm/amd/amdgpu/vega10_ih.c            |  90 ++++
>  drivers/gpu/drm/amd/amdkfd/kfd_device.c           |  18 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c         |  48 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_module.c           |   6 -
>  drivers/gpu/drm/amd/amdkfd/kfd_pasid.c            |  84 ++--
>  drivers/gpu/drm/amd/amdkfd/kfd_priv.h             |  10 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_process.c          |   8 +-
>  drivers/gpu/drm/amd/include/kgd_kfd_interface.h   |   8 +-
>  drivers/gpu/drm/radeon/radeon_kfd.c               |  36 +-
>  include/linux/chash.h                             | 349 +++++++++++++++
>  lib/Kconfig                                       |   8 +
>  lib/Makefile                                      |   2 +
>  lib/chash.c                                       | 521
> ++++++++++++++++++++++
>  30 files changed, 1376 insertions(+), 105 deletions(-)
>  create mode 100644 include/linux/chash.h
>  create mode 100644 lib/chash.c
>
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20170828/2abaf103/attachment.html>


More information about the amd-gfx mailing list