Messages in this thread | | | From | Leo Yan <> | Subject | [PATCH v9 00/16] perf arm-spe: Refactor decoding & dumping flow | Date | Thu, 19 Nov 2020 23:24:25 +0800 |
| |
This is patch set v9 for refactoring Arm SPE trace decoding and dumping.
According to comments and suggestions from patch set v8, it squashs the two patches into single one: "perf arm-spe: Refactor printing string to buffer" and "perf arm-spe: Consolidate arm_spe_pkt_desc()'s return value".
In the patch 01/16, it renames the function arm_spe_pkt_snprintf() to arm_spe_pkt_out_string(), since the function is not the same semantics with snprintf(), the renaming can avoid confusion.
This patch set is cleanly applied on the top of perf/core branch with commit 29396cd573da ("perf expr: Force encapsulation on expr_id_data").
This patch set has been tested 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.
I also manually built the patches for arm/arm64/x86_64 and verfied every single patch can build successfully.
Changes from v8: - Squashed the two patches "perf arm-spe: Refactor printing string to buffer" and "perf arm-spe: Consolidate arm_spe_pkt_desc()'s return value" (Dave); - Fixed the condition for vsnprintf()'s overrun to "if ((size_t)ret >= *blen)" (Dave); - Renamed function arm_spe_pkt_snprintf() to arm_spe_pkt_out_string() (Dave/Arnaldo); - Rebased on the latest perf/core branch.
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).
Andre Przywara (1): perf arm_spe: Decode memory tagging properties
Leo Yan (14): perf arm-spe: Refactor printing string to buffer 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 | 54 +- .../util/arm-spe-decoder/arm-spe-decoder.h | 17 - .../arm-spe-decoder/arm-spe-pkt-decoder.c | 542 ++++++++++-------- .../arm-spe-decoder/arm-spe-pkt-decoder.h | 122 +++- tools/perf/util/arm-spe.c | 2 +- 5 files changed, 455 insertions(+), 282 deletions(-)
-- 2.17.1
| |