linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ali Saidi <alisaidi@amazon.com>
To: <linux-kernel@vger.kernel.org>,
	<linux-perf-users@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>, <german.gomez@arm.com>,
	<leo.yan@linaro.org>, <acme@kernel.org>
Cc: <alisaidi@amazon.com>, <benh@kernel.crashing.org>,
	<Nick.Forrington@arm.com>, <alexander.shishkin@linux.intel.com>,
	<andrew.kilroy@arm.com>, <james.clark@arm.com>,
	<john.garry@huawei.com>, <jolsa@kernel.org>,
	<kjain@linux.ibm.com>, <lihuafei1@huawei.com>,
	<mark.rutland@arm.com>, <mathieu.poirier@linaro.org>,
	<mingo@redhat.com>, <namhyung@kernel.org>, <peterz@infradead.org>,
	<will@kernel.org>
Subject: [PATCH v4 0/4] perf: arm-spe: Decode SPE source and use for perf c2c
Date: Fri, 8 Apr 2022 19:53:39 +0000	[thread overview]
Message-ID: <20220408195344.32764-1-alisaidi@amazon.com> (raw)

When synthesizing data from SPE, augment the type with source information
for Arm Neoverse cores so we can detect situtions like cache line
contention and transfers on Arm platforms. 

This changes enables the expected behavior of perf c2c on a system with
SPE where lines that are shared among multiple cores show up in perf c2c
output. 

These changes switch to use mem_lvl_num to encode the level information
instead of mem_lvl which is being deprecated, but I haven't found other
users of mem_lvl_num. 

Changes in v5:
  * Add a new snooping type to disambiguate cache-to-cache transfers where
    we don't know if the data is clean or dirty.
  * Set snoop flags on all the data-source cases
  * Special case stores as we have no information on them

Changes in v4:
  * Bring-in the kernel's arch/arm64/include/asm/cputype.h into tools/ 
  * Add neoverse-v1 to the neoverse cores list

Ali Saidi (4):
  tools: arm64: Import cputype.h
  perf arm-spe: Use SPE data source for neoverse cores
  perf mem: Support mem_lvl_num in c2c command
  perf mem: Support HITM for when mem_lvl_num is any

 tools/arch/arm64/include/asm/cputype.h        | 258 ++++++++++++++++++
 .../util/arm-spe-decoder/arm-spe-decoder.c    |   1 +
 .../util/arm-spe-decoder/arm-spe-decoder.h    |  12 +
 tools/perf/util/arm-spe.c                     | 110 +++++++-
 tools/perf/util/mem-events.c                  |  20 +-
 5 files changed, 383 insertions(+), 18 deletions(-)
 create mode 100644 tools/arch/arm64/include/asm/cputype.h

-- 
2.32.0


             reply	other threads:[~2022-04-08 19:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-08 19:53 Ali Saidi [this message]
2022-04-08 19:53 ` [PATCH v5 1/5] tools: arm64: Import cputype.h Ali Saidi
2022-04-18 14:57   ` Leo Yan
2022-04-08 19:53 ` [PATCH v5 2/5] perf: Add SNOOP_PEER flag to perf mem data struct Ali Saidi
2022-04-20  8:20   ` Leo Yan
2022-04-20 18:43   ` Liang, Kan
2022-04-22 18:49     ` Ali Saidi
2022-04-22 21:08       ` Liang, Kan
2022-04-22 21:22         ` Ali Saidi
2022-04-23  6:38           ` Leo Yan
2022-04-23 12:53             ` Andi Kleen
2022-04-24 11:43               ` Leo Yan
2022-04-25 17:01                 ` Liang, Kan
2022-04-27 16:19                   ` Leo Yan
2022-04-27 19:29                     ` Liang, Kan
2022-04-29  9:28                       ` Leo Yan
2022-04-08 19:53 ` [PATCH v5 3/5] perf tools: sync addition of PERF_MEM_SNOOPX_PEER Ali Saidi
2022-04-11 10:26   ` German Gomez
2022-04-11 14:35     ` German Gomez
2022-04-20  8:23       ` Leo Yan
2022-04-08 19:53 ` [PATCH v5 4/5] perf arm-spe: Use SPE data source for neoverse cores Ali Saidi
2022-04-20  8:30   ` Leo Yan
2022-04-20  8:42   ` Leo Yan
2022-04-08 19:53 ` [PATCH v5 5/5] perf mem: Support mem_lvl_num in c2c command Ali Saidi
2022-04-11 10:04   ` German Gomez
2022-04-20  8:48     ` Leo Yan
2022-04-20 16:47       ` Arnaldo Carvalho de Melo
2022-04-20 19:02   ` Liang, Kan
  -- strict thread matches above, loose matches on Subject: below --
2022-04-26 13:59 [PATCH v4 0/4] perf: arm-spe: Decode SPE source and use for perf c2c Ali Saidi
2022-04-26  1:59 Ali Saidi
2022-03-24 18:33 Ali Saidi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220408195344.32764-1-alisaidi@amazon.com \
    --to=alisaidi@amazon.com \
    --cc=Nick.Forrington@arm.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andrew.kilroy@arm.com \
    --cc=benh@kernel.crashing.org \
    --cc=german.gomez@arm.com \
    --cc=james.clark@arm.com \
    --cc=john.garry@huawei.com \
    --cc=jolsa@kernel.org \
    --cc=kjain@linux.ibm.com \
    --cc=leo.yan@linaro.org \
    --cc=lihuafei1@huawei.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).