Em Wed, Nov 11, 2020 at 03:11:27PM +0800, Leo Yan escreveu: > This is patch set v8 for refactoring Arm SPE trace decoding and dumping. > > This version addresses Andre's comment to pass parameter '&buf_len' at > the last call arm_spe_pkt_snprintf() in the function arm_spe_pkt_desc(). > > This patch set is cleanly applied on the top of perf/core branch > with commit 644bf4b0f7ac ("perf jevents: Add test for arch std events"). > > I retested this patch set on Hisilicon D06 platform with commands > "perf report -D" and "perf script", compared the decoding results > between with this patch set and without this patch set, "diff" tool > shows the result as expected.
With the patches I applied I'm getting: util/arm-spe-decoder/arm-spe-pkt-decoder.c: In function 'arm_spe_pkt_desc': util/arm-spe-decoder/arm-spe-pkt-decoder.c:410:3: error: left shift count >= width of type [-Werror] case 1: ns = !!(packet->payload & NS_FLAG); ^ util/arm-spe-decoder/arm-spe-pkt-decoder.c:411:4: error: left shift count >= width of type [-Werror] el = (packet->payload & EL_FLAG) >> 61; ^ util/arm-spe-decoder/arm-spe-pkt-decoder.c:411:4: error: left shift count >= width of type [-Werror] util/arm-spe-decoder/arm-spe-pkt-decoder.c:416:3: error: left shift count >= width of type [-Werror] case 3: ns = !!(packet->payload & NS_FLAG); ^ CC /tmp/build/perf/util/arm-spe-decoder/arm-spe-decoder.o On: 16 11.70 android-ndk:r12b-arm : FAIL arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease) 17 11.32 android-ndk:r15c-arm : FAIL arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease) That were building ok before, builds still under way, perhaps its just on these old systems... - Arnaldo > Changes from v7: > - Changed to pass '&buf_len' for the last call arm_spe_pkt_snprintf() in > the patch 07/22 (Andre). > > Changes from v6: > - Removed the redundant comma from the string in the patch 21/22 "perf > arm_spe: Decode memory tagging properties" (Dave); > - Refined the return value for arm_spe_pkt_desc(): returns 0 for > success, otherwise returns non zero for failures; handle error code at > the end of function arm_spe_pkt_desc(); this is accomplished in the > new patch 07/22 "perf arm-spe: Consolidate arm_spe_pkt_desc()'s > return value" (Dave). > > Changes from v5: > - Directly bail out arm_spe_pkt_snprintf() if any error occurred > (Andre). > > Changes from v4: > - Implemented a cumulative error for arm_spe_pkt_snprintf() and changed > to condense code for printing strings (Dave); > - Changed to check payload bits [55:52] for parse kernel address > (Andre). > > Changes from v3: > - Refined arm_spe_payload_len() and removed macro SPE_HEADER_SZ() > (Andre); > - Refined packet header index macros (Andre); > - Added patch "perf arm_spe: Fixup top byte for data virtual address" to > fixup the data virtual address for 64KB pages and refined comments for > the fixup (Andre); > - Added Andre's review tag (using "b4 am" command); > - Changed the macros to SPE_PKT_IS_XXX() format to check operation types > (Andre). > > > Andre Przywara (1): > perf arm_spe: Decode memory tagging properties > > Leo Yan (20): > perf arm-spe: Include bitops.h for BIT() macro > perf arm-spe: Fix a typo in comment > perf arm-spe: Refactor payload size calculation > perf arm-spe: Refactor arm_spe_get_events() > perf arm-spe: Fix packet length handling > perf arm-spe: Refactor printing string to buffer > perf arm-spe: Consolidate arm_spe_pkt_desc()'s return value > perf arm-spe: Refactor packet header parsing > perf arm-spe: Add new function arm_spe_pkt_desc_addr() > perf arm-spe: Refactor address packet handling > perf arm_spe: Fixup top byte for data virtual address > perf arm-spe: Refactor context packet handling > perf arm-spe: Add new function arm_spe_pkt_desc_counter() > perf arm-spe: Refactor counter packet handling > perf arm-spe: Add new function arm_spe_pkt_desc_event() > perf arm-spe: Refactor event type handling > perf arm-spe: Remove size condition checking for events > perf arm-spe: Add new function arm_spe_pkt_desc_op_type() > perf arm-spe: Refactor operation packet handling > perf arm-spe: Add more sub classes for operation packet > > Wei Li (1): > perf arm-spe: Add support for ARMv8.3-SPE > > .../util/arm-spe-decoder/arm-spe-decoder.c | 59 +- > .../util/arm-spe-decoder/arm-spe-decoder.h | 17 - > .../arm-spe-decoder/arm-spe-pkt-decoder.c | 601 ++++++++++-------- > .../arm-spe-decoder/arm-spe-pkt-decoder.h | 122 +++- > tools/perf/util/arm-spe.c | 2 +- > 5 files changed, 479 insertions(+), 322 deletions(-) > > -- > 2.17.1 > -- - Arnaldo