From 6a4785f650de174655cce7e2fc5ac9385ea69b4e Mon Sep 17 00:00:00 2001 From: Lancelot SIX Date: Fri, 21 Mar 2025 14:38:01 +0000 Subject: [PATCH] Fix Stochastic sampling trap handler The trap handler should read the PERF_SNAPSHOT_DATA after all of PERF_SNAPSHOT_DATA, PERF_SNAPSHOT_PC_LO and PERF_SNAPSHOT_PC_HI. This patch fixes this. Change-Id: I7f78e16d7a0d8bfebb34906b4dff73c2eaeb5658 --- .../hsa-runtime/core/runtime/trap_handler/trap_handler.s | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/hsa-runtime/core/runtime/trap_handler/trap_handler.s b/runtime/hsa-runtime/core/runtime/trap_handler/trap_handler.s index 8b37ab8f00..13339fc610 100644 --- a/runtime/hsa-runtime/core/runtime/trap_handler/trap_handler.s +++ b/runtime/hsa-runtime/core/runtime/trap_handler/trap_handler.s @@ -507,12 +507,12 @@ trap_entry: s_waitcnt lgkmcnt(0) // Wait for timestamp s_store_dwordx2 ttmp[4:5], ttmp[2:3] 0x30 // Store timestamp - s_getreg_b32 ttmp4, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA) - s_getreg_b32 ttmp5, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA1) - s_store_dwordx2 ttmp[4:5], ttmp[2:3], 0x24 // store snapshot PC s_getreg_b32 ttmp4, hwreg(HW_REG_SQ_PERF_SNAPSHOT_PC_LO) s_getreg_b32 ttmp5, hwreg(HW_REG_SQ_PERF_SNAPSHOT_PC_HI) s_store_dwordx2 ttmp[4:5], ttmp[2:3] 0x00 // store snapshot data + s_getreg_b32 ttmp5, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA1) + s_getreg_b32 ttmp4, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA) + s_store_dwordx2 ttmp[4:5], ttmp[2:3], 0x24 // store snapshot PC s_mov_b32 ttmp6, exec_lo s_store_dword ttmp6, ttmp[2:3], 0x8 // store EXEC_LO