[PATCH 0/8] Retry page fault handling for Vega10
Felix Kuehling
Felix.Kuehling at amd.com
Tue Sep 12 23:05:37 UTC 2017
Rebased on adeucher/amd-staging-4.13 and tested on Vega10 (graphics)
and Kaveri (KFD). Meaningful graphics tests with retry faults enabled
will only be possible after PASID support is added to amdgpu_cs.
The chash table was moved to drivers/gpu/drm/amd/lib for now but is
ready to move to lib if needed. I have not got any feedback on LKLM
and I don't want that to hold up the patch series.
TODO:
* Finish upstreaming KFD
* 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
Felix Kuehling (8):
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/amdgpu: Add prescreening stage in IH processing
drm/amd: Closed hash table with low overhead
drm/amdgpu: Track pending retry faults in IH and VM (v2)
drivers/gpu/drm/Kconfig | 3 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +
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_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 | 84 ++-
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 | 7 -
drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 50 +-
drivers/gpu/drm/amd/amdkfd/kfd_module.c | 6 -
drivers/gpu/drm/amd/amdkfd/kfd_pasid.c | 90 ++--
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 10 +-
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 6 +
drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 6 +
drivers/gpu/drm/amd/include/linux/chash.h | 358 +++++++++++++
drivers/gpu/drm/amd/lib/Kconfig | 27 +
drivers/gpu/drm/amd/lib/Makefile | 11 +
drivers/gpu/drm/amd/lib/chash.c | 622 ++++++++++++++++++++++
drivers/gpu/drm/radeon/radeon_kfd.c | 31 ++
28 files changed, 1504 insertions(+), 91 deletions(-)
create mode 100644 drivers/gpu/drm/amd/include/linux/chash.h
create mode 100644 drivers/gpu/drm/amd/lib/Kconfig
create mode 100644 drivers/gpu/drm/amd/lib/Makefile
create mode 100644 drivers/gpu/drm/amd/lib/chash.c
--
2.7.4
More information about the amd-gfx
mailing list