[PATCH 00/24] Support Host Trap Sampling for MI200

James Zhu jamesz at amd.com
Thu Nov 16 14:51:32 UTC 2023


Ping ...

On 2023-11-03 09:11, James Zhu wrote:
> PC sampling is a form of software profiling, where the threads of an application
> are periodically interrupted and the program counter that the thread is 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: add pc sampling capability check
>
> James Zhu (19):
>    drm/amdkfd: add pc sampling mutex
>    drm/amdkfd: add trace_id return
>    drm/amdkfd: check pcs_enrty 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 start
>    drm/amdkfd: enable pc sampling stop
>    drm/amdkfd: enable pc sampling work to trigger trap
>    drm/amdkfd: add queue remapping
>    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 |   72 +
>   .../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      |   44 +
>   drivers/gpu/drm/amd/amdkfd/kfd_device.c       |   17 +
>   .../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  |  348 +++
>   drivers/gpu/drm/amd/amdkfd/kfd_pc_sampling.h  |   36 +
>   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 +-
>   19 files changed, 1792 insertions(+), 1059 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
>


More information about the amd-gfx mailing list