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

Reply via email to