[PATCH v3 00/24] Support Host Trap Sampling for gfx941/gfx942
James Zhu
James.Zhu at amd.com
Fri Dec 15 15:59:27 UTC 2023
PC sampling is a form of software profiling, where the threads of an application
are periodically interrupted and the program counter that the threads are currently
attempting to execute is saved out for profiling.
David Yat Sin (5):
drm/amdkfd/kfd_ioctl: add pc sampling support
drm/amdkfd: add pc sampling support
drm/amdkfd: enable pc sampling query
drm/amdkfd: enable pc sampling create
drm/amdkfd: set debug trap bit when enabling PC Sampling
James Zhu (19):
drm/amdkfd: add pc sampling mutex
drm/amdkfd: add trace_id return
drm/amdkfd: check pcs_entry valid
drm/amdkfd: enable pc sampling destroy
drm/amdkfd: add interface to trigger pc sampling trap
drm/amdkfd: trigger pc sampling trap for gfx v9
drm/amdkfd/gfx9: enable host trap
drm/amdgpu: use trapID 4 for host trap
drm/amdgpu: add sq host trap status check
drm/amdkfd: trigger pc sampling trap for arcturus
drm/amdkfd: trigger pc sampling trap for aldebaran
drm/amdkfd: use bit operation set debug trap
drm/amdkfd: add setting trap pc sampling flag
drm/amdkfd: enable pc sampling stop
drm/amdkfd: add queue remapping
drm/amdkfd: enable pc sampling start
drm/amdkfd: add pc sampling thread to trigger trap
drm/amdkfd: add pc sampling release when process release
drm/amdkfd: bump kfd ioctl minor version for pc sampling availability
.../drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c | 11 +
.../drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c | 14 +-
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 73 +
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.h | 7 +
drivers/gpu/drm/amd/amdkfd/Makefile | 3 +-
.../gpu/drm/amd/amdkfd/cwsr_trap_handler.h | 2106 +++++++++--------
.../drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm | 29 +-
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 73 +-
drivers/gpu/drm/amd/amdkfd/kfd_debug.c | 22 +
drivers/gpu/drm/amd/amdkfd/kfd_debug.h | 3 +
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 14 +
.../drm/amd/amdkfd/kfd_device_queue_manager.c | 11 +
.../drm/amd/amdkfd/kfd_device_queue_manager.h | 5 +
drivers/gpu/drm/amd/amdkfd/kfd_pc_sampling.c | 405 ++++
drivers/gpu/drm/amd/amdkfd/kfd_pc_sampling.h | 37 +
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 43 +
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 32 +-
.../amd/include/asic_reg/gc/gc_9_0_offset.h | 2 +
.../amd/include/asic_reg/gc/gc_9_0_sh_mask.h | 5 +
.../gpu/drm/amd/include/kgd_kfd_interface.h | 6 +
include/uapi/linux/kfd_ioctl.h | 60 +-
21 files changed, 1881 insertions(+), 1080 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_pc_sampling.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_pc_sampling.h
--
2.25.1
More information about the amd-gfx
mailing list