All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/9] perf mem/c2c: Support AUX trace
@ 2020-10-28  6:38 ` Leo Yan
  0 siblings, 0 replies; 38+ messages in thread
From: Leo Yan @ 2020-10-28  6:38 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Peter Zijlstra, Ingo Molnar,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	John Garry, Will Deacon, Mathieu Poirier, Kemeng Shi,
	Naveen N. Rao, Ian Rogers, Al Grant, James Clark, Wei Li,
	André Przywara, linux-kernel, linux-arm-kernel
  Cc: Leo Yan

The patch set v2 [1] mixed the patches for support perf mem/c2c AUX
trace and for enabling Arm SPE's memory event.  To make easier
reviewing, this patch set extracts the changes for perf mem/c2c AUX
trace.

Patches 01, 02, 03 extend to support more flexible memory event name
and introduce a new event type 'ldst' (besides the existed types 'load'
and 'store').

Patch 04 is a minor refactoring to initailize memory event for recording
but not for reporting.

Patches 05, 06 are to support AUX trace for "perf mem" and "perf c2c"
tools.

Patch 07 enabled SPE memory events for Arm64 arch; patch 08 fixes the
memory event name issue on PowerPC.

Patch 09 is to update documentation to reflect the latest changes.

This patch set has been applied clearly on the perf/core branch with the
latest commit 7cf726a59435 ("Merge tag 'linux-kselftest-kunit-5.10-rc1'
of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest").

This patch set has been verified on x86 and Arm64.

On x86, below commands have been tested:

  # perf c2c record -e ldlat-loads  -- ~/false_sharing.exe 2
  # perf c2c record -e ldlat-stores  -- ~/false_sharing.exe 2
  # perf mem record -t load -- ~/false_sharing.exe 2
  # perf mem record -t store -- ~/false_sharing.exe 2
  # perf mem record -t ldst -- ~/false_sharing.exe 2
      `-> report failure due the type 'ldst' is not supported on x86
  # perf mem record -e ldlat-loads  -- ~/false_sharing.exe 2
  # perf mem record -e ldlat-stores  -- ~/false_sharing.exe 2

On Arm64, below commands have been tested:

  # perf c2c record -e spe-load  -- ~/false_sharing.exe 2
  # perf c2c record -e spe-store  -- ~/false_sharing.exe 2
  # perf c2c record -e spe-ldst  -- ~/false_sharing.exe 2
  # perf mem record -t load -- ~/false_sharing.exe 2
  # perf mem record -t store -- ~/false_sharing.exe 2
  # perf mem record -t ldst -- ~/false_sharing.exe 2
  # perf mem record -e spe-load  -- ~/false_sharing.exe 2
  # perf mem record -e spe-store  -- ~/false_sharing.exe 2
  # perf mem record -e spe-ldst  -- ~/false_sharing.exe 2

[1] https://lore.kernel.org/patchwork/cover/1298085/


Leo Yan (9):
  perf mem: Search event name with more flexible path
  perf mem: Introduce weak function perf_mem_events__ptr()
  perf mem: Support new memory event PERF_MEM_EVENTS__LOAD_STORE
  perf mem: Only initialize memory event for recording
  perf mem: Support AUX trace
  perf c2c: Support AUX trace
  perf mem: Support Arm SPE events
  perf mem: Return NULL for event 'ldst' on PowerPC
  perf mem: Document event type 'ldst'

Changes from v2:
* Patch 02 went back to use loops with PERF_MEM_EVENTS__MAX (Jiri);
* Patch 06 for "perf c2c" AUX trace is supported;
* Patch 08 for fixing memory event name on PowerPC.


Changes from v1:
* Refined patch 02 to use perf_mem_events__ptr() to return event pointer
  and check if pointer is NULL, and remove the condition checking for
  PERF_MEM_EVENTS__MAX; (James Clark)
* Added new itrace option 'M' for memory events;
* Added patch 14 to update documentation.


 tools/perf/Documentation/perf-mem.txt     |  6 ++-
 tools/perf/arch/arm64/util/Build          |  2 +-
 tools/perf/arch/arm64/util/mem-events.c   | 37 +++++++++++++++++
 tools/perf/arch/powerpc/util/mem-events.c |  6 ++-
 tools/perf/builtin-c2c.c                  | 22 +++++++---
 tools/perf/builtin-mem.c                  | 49 ++++++++++++++++-------
 tools/perf/util/mem-events.c              | 45 ++++++++++++++++-----
 tools/perf/util/mem-events.h              |  3 +-
 8 files changed, 133 insertions(+), 37 deletions(-)
 create mode 100644 tools/perf/arch/arm64/util/mem-events.c

-- 
2.17.1


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

end of thread, other threads:[~2020-11-02 16:37 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-28  6:38 [PATCH v3 0/9] perf mem/c2c: Support AUX trace Leo Yan
2020-10-28  6:38 ` Leo Yan
2020-10-28  6:38 ` [PATCH v3 1/9] perf mem: Search event name with more flexible path Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-28  6:38 ` [PATCH v3 2/9] perf mem: Introduce weak function perf_mem_events__ptr() Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-28  6:38 ` [PATCH v3 3/9] perf mem: Support new memory event PERF_MEM_EVENTS__LOAD_STORE Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-31 20:23   ` Jiri Olsa
2020-10-31 20:23     ` Jiri Olsa
2020-11-02  9:38     ` Leo Yan
2020-11-02  9:38       ` Leo Yan
2020-10-28  6:38 ` [PATCH v3 4/9] perf mem: Only initialize memory event for recording Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-30  1:04   ` Ian Rogers
2020-10-30  1:04     ` Ian Rogers
2020-10-28  6:38 ` [PATCH v3 5/9] perf mem: Support AUX trace Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-28  6:38 ` [PATCH v3 6/9] perf c2c: " Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-31 20:21   ` Jiri Olsa
2020-10-31 20:21     ` Jiri Olsa
2020-11-02 10:08     ` Leo Yan
2020-11-02 10:08       ` Leo Yan
2020-11-02 16:35       ` Jiri Olsa
2020-11-02 16:35         ` Jiri Olsa
2020-10-28  6:38 ` [PATCH v3 7/9] perf mem: Support Arm SPE events Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-28  6:38 ` [PATCH v3 8/9] perf mem: Return NULL for event 'ldst' on PowerPC Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-28  9:35   ` Naveen N. Rao
2020-10-28  9:35     ` Naveen N. Rao
2020-10-28  6:38 ` [PATCH v3 9/9] perf mem: Document event type 'ldst' Leo Yan
2020-10-28  6:38   ` Leo Yan
2020-10-30  1:10   ` Ian Rogers
2020-10-30  1:10     ` Ian Rogers
2020-10-30  1:49     ` Leo Yan
2020-10-30  1:49       ` Leo Yan

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.