All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/21] perf arm-spe: Refactor decoding & dumping flow
@ 2020-10-27  3:08 Leo Yan
  2020-10-27  3:08 ` [PATCH v4 01/21] perf arm-spe: Include bitops.h for BIT() macro Leo Yan
                   ` (20 more replies)
  0 siblings, 21 replies; 31+ messages in thread
From: Leo Yan @ 2020-10-27  3:08 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Andre Przywara, Peter Zijlstra,
	Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, Wei Li, James Clark, Al Grant, Dave Martin,
	linux-kernel
  Cc: Leo Yan

This is patch set v4 for refactoring Arm SPE trace decoding and dumping.
It follows Andre's suggestions for minor improvement comparing to patch
set v3.

This patch set is to refactor the Arm SPE decoding with:

- Patches 01, 02 are minor cleans up for header, typos;
- Patches 03, 04 and 05 are used to fix and polish the packet and
  payload length calculation;
- Patch 06 is to add a helper to wrap up printing strings, this can
  avoid bunch of duplicate code lines;
- Patches 07 ~ 19 are used to refactor decoding for different types
  packet one by one; in this patch set it introduces a new patch
  "perf arm_spe: Fixup top byte for data virtual address" to fixup
  the data virtual address for 64KB pages;
- Patch 20 comes from Andre to dump memory tagging;
- Patch 21 comes from Wei Li to add decoding for ARMv8.3 SVE extension.

This patch set is cleanly applied on the top of perf/core branch
with commit 7cf726a59435 ("Merge tag 'linux-kselftest-kunit-5.10-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest"),
And I tested this patch set on Hisilicon D06 platform with commands
"perf script" and "perf script -D".


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);

Changes from v2:
- Tried best to address Andre's comments and refined patches;
- Added new patches 08, 11, 13, 16 for introducing new functions for
  packets parsing (Andre);
- Removed size condition checking for event packet (Andre);
- Used PKT_XXX_GET() form to replace PKT_XXX_MASK()/PKT_XXX_SHIFT()
  (Andre).

Changes from v1:
- Heavily rewrote the patch 05 for refactoring printing strings; this
  is fundamental change, so adjusted the sequence for patches and moved
  the printing string patch ahead from patch 10 (v1) to patch 05;
- Changed to use GENMASK_ULL() for bits mask;
- Added Andre's patch 13 for dumping memory tagging;
- Refined patch 12 for adding sub classes for Operation packet, merged
  some commit log from Andre's patch, which allows commit log and code
  to be more clear; Added "Co-developed-by: Andre Przywara" tag to
  reflect this.


Andre Przywara (1):
  perf arm_spe: Decode memory tagging properties

Leo Yan (19):
  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: 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    |  63 +-
 .../util/arm-spe-decoder/arm-spe-decoder.h    |  17 -
 .../arm-spe-decoder/arm-spe-pkt-decoder.c     | 654 +++++++++++-------
 .../arm-spe-decoder/arm-spe-pkt-decoder.h     | 122 +++-
 4 files changed, 541 insertions(+), 315 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2020-10-28 23:05 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-27  3:08 [PATCH v4 00/21] perf arm-spe: Refactor decoding & dumping flow Leo Yan
2020-10-27  3:08 ` [PATCH v4 01/21] perf arm-spe: Include bitops.h for BIT() macro Leo Yan
2020-10-27  3:08 ` [PATCH v4 02/21] perf arm-spe: Fix a typo in comment Leo Yan
2020-10-27  3:08 ` [PATCH v4 03/21] perf arm-spe: Refactor payload size calculation Leo Yan
2020-10-27 14:53   ` André Przywara
2020-10-27  3:09 ` [PATCH v4 04/21] perf arm-spe: Refactor arm_spe_get_events() Leo Yan
2020-10-27  3:09 ` [PATCH v4 05/21] perf arm-spe: Fix packet length handling Leo Yan
2020-10-27  3:09 ` [PATCH v4 06/21] perf arm-spe: Refactor printing string to buffer Leo Yan
2020-10-27 14:31   ` Dave Martin
2020-10-27 14:50     ` Leo Yan
2020-10-27  3:09 ` [PATCH v4 07/21] perf arm-spe: Refactor packet header parsing Leo Yan
2020-10-27  3:09 ` [PATCH v4 08/21] perf arm-spe: Add new function arm_spe_pkt_desc_addr() Leo Yan
2020-10-27  3:09 ` [PATCH v4 09/21] perf arm-spe: Refactor address packet handling Leo Yan
2020-10-27 14:53   ` André Przywara
2020-10-27  3:09 ` [PATCH v4 10/21] perf arm_spe: Fixup top byte for data virtual address Leo Yan
2020-10-27 15:01   ` André Przywara
2020-10-28  6:49     ` Leo Yan
2020-10-27  3:09 ` [PATCH v4 11/21] perf arm-spe: Refactor context packet handling Leo Yan
2020-10-27  3:09 ` [PATCH v4 12/21] perf arm-spe: Add new function arm_spe_pkt_desc_counter() Leo Yan
2020-10-27  3:09 ` [PATCH v4 13/21] perf arm-spe: Refactor counter packet handling Leo Yan
2020-10-27 14:54   ` André Przywara
2020-10-27  3:09 ` [PATCH v4 14/21] perf arm-spe: Add new function arm_spe_pkt_desc_event() Leo Yan
2020-10-27  3:09 ` [PATCH v4 15/21] perf arm-spe: Refactor event type handling Leo Yan
2020-10-27  3:09 ` [PATCH v4 16/21] perf arm-spe: Remove size condition checking for events Leo Yan
2020-10-27  3:09 ` [PATCH v4 17/21] perf arm-spe: Add new function arm_spe_pkt_desc_op_type() Leo Yan
2020-10-27  3:09 ` [PATCH v4 18/21] perf arm-spe: Refactor operation packet handling Leo Yan
2020-10-27 14:54   ` André Przywara
2020-10-27  3:09 ` [PATCH v4 19/21] perf arm-spe: Add more sub classes for operation packet Leo Yan
2020-10-27  3:09 ` [PATCH v4 20/21] perf arm_spe: Decode memory tagging properties Leo Yan
2020-10-27  3:09 ` [PATCH v4 21/21] perf arm-spe: Add support for ARMv8.3-SPE Leo Yan
2020-10-27 14:54   ` André Przywara

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.