lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201028063813.8562-1-leo.yan@linaro.org>
Date:   Wed, 28 Oct 2020 14:38:04 +0800
From:   Leo Yan <leo.yan@...aro.org>
To:     Arnaldo Carvalho de Melo <acme@...nel.org>,
        Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>,
        Mark Rutland <mark.rutland@....com>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Jiri Olsa <jolsa@...hat.com>,
        Namhyung Kim <namhyung@...nel.org>,
        John Garry <john.garry@...wei.com>,
        Will Deacon <will@...nel.org>,
        Mathieu Poirier <mathieu.poirier@...aro.org>,
        Kemeng Shi <shikemeng@...wei.com>,
        "Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>,
        Ian Rogers <irogers@...gle.com>, Al Grant <Al.Grant@....com>,
        James Clark <james.clark@....com>,
        Wei Li <liwei391@...wei.com>,
        André Przywara <andre.przywara@....com>,
        linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Cc:     Leo Yan <leo.yan@...aro.org>
Subject: [PATCH v3 0/9] perf mem/c2c: Support AUX trace

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ