> -----Original Message----- > From: Kuehling, Felix > Sent: Wednesday, September 06, 2017 5:54 PM > To: amd-gfx at lists.freedesktop.org; Deucher, Alexander; Oded Gabbay; > Koenig, Christian > Subject: Re: [PATCH 0/8] Retry page fault handling for Vega10 > > I realized that the drm-next-4.15-wip branch isn't very useful for > testing this, because it has no display support for Vega10 and no KFD > support for Vega10. So you can't test graphics or compute on Vega10 with > this branch. On the other hand, I need to make changes in both KFD and > AMDGPU, so I tried to avoid an amd-internal branch. But it seems until > either DAL or KFD is upstream, it'll have to remain on an AMD-internal > branch (amd-staging-4.12 for now, to be changed soon). Christian, would > this enable any of work you were going to do? > > Alex, is this going to make your regular upstreaming more difficult? Or > are you OK with upstreaming KFD changes that have dependencies with > amdgpu changes? Oded, would you be OK with Alex upstreaming KFD > changes > along with amdgpu changes? Assuming they have your "Reviewed-by"? I'm fine to take the changes through my tree if Oded is ok with it. > > I also haven't got any feedback from LKLM on the addition of the chash > data structure to kernel/lib. I'm considering adding it in > drivers/gpu/drm/amd/chash as an interim step. It can be moved to lib > later, if other components are interested in using it. Any objections? Works for me. Alex > > Regards, > Felix > > > On 2017-08-29 06:25 PM, Felix Kuehling wrote: > > Rebased on the public drm-next-4.15-wip. Patch 8 from the WIP patch > > series did not apply at all, because upstream KFD doesn't support > > GPUVM yet. > > > > The "lib: Closed hash table ..." change is updated and the same as > > what I sent to LKML yesterday. Changes are mainly in the way the self > > test is hooked up, Kconfig options and some checkpatch fixes. If it > > takes too long to get accepted upstream, I could add it under > > drivers/gpu/drm/amd/chash in the interim. > > > > This is only compile tested on this branch. I can't do much more > > because the upstream KFD doesn't support Vega10 and GPUVM yet. > Someone > > will have to add PASID support for graphics on top of this. > > > > 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 > > lib: Closed hash table with low overhead > > drm/amdgpu: Track pending retry faults in IH and VM (v2) > > > > drivers/gpu/drm/Kconfig | 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/radeon/radeon_kfd.c | 31 ++ > > include/linux/chash.h | 358 +++++++++++++ > > lib/Kconfig | 24 + > > lib/Makefile | 2 + > > lib/chash.c | 622 ++++++++++++++++++++++ > > 27 files changed, 1489 insertions(+), 91 deletions(-) > > create mode 100644 include/linux/chash.h > > create mode 100644 lib/chash.c > >