[PATCH 00/24] KFD fixes, cleanups, features to make the runtime happy
Oded Gabbay
oded.gabbay at gmail.com
Wed Aug 16 09:33:05 UTC 2017
On Wed, Aug 16, 2017 at 10:51 AM, Christian König
<deathsimple at vodafone.de> wrote:
>> For testing KV with current user mode stack, please use amdgpu. I
>> don't expect this to work with radeon and I'm not planning to spend
>> any effort on making radeon work with a current user mode stack.
>
> In this case any objection to just rip out radeon support?
>
> Christian.
>
No objection from my side.
Oded
>
> Am 16.08.2017 um 04:59 schrieb Felix Kuehling:
>>
>> I merged the last two patch series and made a number of updates as
>> discussed. I also rebased it on Alex's drm-next-4.14-wip branch. All
>> patches applied cleanly without having to resolve any conflicts.
>>
>> I'm also publishing my branch with this patch series on GitHub to make
>> it easier to test and apply the changes. This KFD branch requires the
>> corresponding Thunk branch from GitHub, which uses a different ioctl
>> ABI from the last ROCm release. The rest of the user mode stack
>> should be OK on top of that Thunk.
>>
>>
>> https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/tree/fkxamd/drm-next-wip
>>
>> https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/fxkamd/drm-next-wip
>>
>> On CZ, hsaconformance passes. OpenCL tests can be run with the current
>> ROCm OpenCL stack. I ran the SHOC benchmark as an example.
>>
>> On KV, the current ROCm OpenCL driver doesn't work. This is a
>> limitation of the OpenCL driver. I'm trying to find out how hard it
>> would be to change that. In the mean time, some hsaconformance tests
>> can be run on KV. It passes most tests up to
>> 162:code_recursive_kernel_function, where it hangs.
>>
>> For testing KV with current user mode stack, please use amdgpu. I
>> don't expect this to work with radeon and I'm not planning to spend
>> any effort on making radeon work with a current user mode stack.
>>
>> Dropped patches:
>> * drm/amdkfd: Fix double Mutex lock order
>>
>> Added patches:
>> * drm/radeon: Return dword offsets of address watch registers
>> * drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
>>
>> Reordered patch sequence:
>> I moved "drm/amdgpu: Remove hard-coded assumptions about compute pipes"
>> just after "drm/amdkfd: Fix allocated_queues bitmap initialization"
>> because these two patches fix related problems (how queues are shared
>> between KFD and KGD).
>>
>> Updated patches:
>> * drm/amdkfd: Clean up KFD style errors and warnings v2
>> * drm/amdkfd: Fix goto usage v2
>> * drm/amdkfd: Handle remaining BUG_ONs more gracefully v2
>> * drm/amdkfd: Add more error printing to help bringup v2
>> * drm/amdgpu: Add kgd/kfd interface to support scratch memory v2
>> * drm/amdkfd: Adding new IOCTL for scratch memory v2
>> * drm/amdgpu: Add kgd kfd interface get_tile_config() v2
>> * drm/amdkfd: Implement image tiling mode support v2
>>
>> Patches that still need a Reviewed-by or Acked-by:
>> * drm/radeon: Return dword offsets of address watch registers
>> * drm/amdkfd: Remove bogus divide-by-sizeof(uint32_t)
>> * drm/amdkfd: Clean up KFD style errors and warnings v2
>> * drm/amdkfd: Handle remaining BUG_ONs more gracefully v2
>> * drm/amdkfd: Add more error printing to help bringup v2
>> * drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
>> * drm/amdgpu: Add kgd/kfd interface to support scratch memory v2
>> * drm/amdkfd: Adding new IOCTL for scratch memory v2
>>
>> ***
>>
>> Felix Kuehling (13):
>> drm/amdkfd: Fix typo in dbgdev_wave_reset_wavefronts
>> drm/radeon: Return dword offsets of address watch registers
>> drm/amdkfd: Remove bogus divide-by-sizeof(uint32_t)
>> drm/amdkfd: Fix allocated_queues bitmap initialization
>> drm/amdgpu: Remove hard-coded assumptions about compute pipes
>> drm/amdkfd: Remove BUG_ONs for NULL pointer arguments
>> drm/amdkfd: Fix doorbell initialization and finalization
>> drm/amdkfd: Allocate gtt_sa_bitmap in long units
>> drm/amdkfd: Handle remaining BUG_ONs more gracefully v2
>> drm/amdkfd: Update PM4 packet headers
>> drm/amdgpu: Disable GFX PG on CZ
>> drm/amd: Update MEC HQD loading code for KFD
>> drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
>>
>> Jay Cornwall (1):
>> drm/amdkfd: Clamp EOP queue size correctly on Gfx8
>>
>> Kent Russell (5):
>> drm/amdkfd: Clean up KFD style errors and warnings v2
>> drm/amdkfd: Consolidate and clean up log commands
>> drm/amdkfd: Change x==NULL/false references to !x
>> drm/amdkfd: Fix goto usage v2
>> drm/amdkfd: Remove usage of alloc(sizeof(struct...
>>
>> Moses Reuben (2):
>> drm/amdgpu: Add kgd/kfd interface to support scratch memory v2
>> drm/amdkfd: Adding new IOCTL for scratch memory v2
>>
>> Yong Zhao (3):
>> drm/amdkfd: Add more error printing to help bringup v2
>> drm/amdgpu: Add kgd kfd interface get_tile_config() v2
>> drm/amdkfd: Implement image tiling mode support v2
>>
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 4 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 16 +
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 189 ++++++++++--
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 227 ++++++++++++--
>> drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 3 +-
>> drivers/gpu/drm/amd/amdgpu/vi.c | 3 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 183 ++++++++----
>> drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c | 102 +++----
>> drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c | 21 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h | 27 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_device.c | 123 ++++----
>> .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 316
>> ++++++++------------
>> .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 8 +-
>> .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 8 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 40 +--
>> drivers/gpu/drm/amd/amdkfd/kfd_events.c | 33 +--
>> drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 2 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 2 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 63 ++--
>> drivers/gpu/drm/amd/amdkfd/kfd_module.c | 10 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.h | 3 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c | 62 ++--
>> drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c | 46 +--
>> drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 294
>> ++++++------------
>> drivers/gpu/drm/amd/amdkfd/kfd_pasid.c | 7 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers.h | 330
>> +++------------------
>> drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_vi.h | 140 ++++++++-
>> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 32 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_process.c | 25 +-
>> .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 71 ++---
>> drivers/gpu/drm/amd/amdkfd/kfd_queue.c | 12 +-
>> drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 46 +--
>> drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 30 +-
>> drivers/gpu/drm/radeon/radeon_kfd.c | 15 +-
>> include/uapi/linux/kfd_ioctl.h | 37 ++-
>> 36 files changed, 1280 insertions(+), 1252 deletions(-)
>>
>
More information about the amd-gfx
mailing list