All of lore.kernel.org
 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 v8 1/5] perf: Add SNOOP_PEER flag to perf mem data struct
Date: Wed, 4 May 2022 18:48:46 +0000	[thread overview]
Message-ID: <20220504184850.24986-2-alisaidi@amazon.com> (raw)
In-Reply-To: <20220504184850.24986-1-alisaidi@amazon.com>

Add a flag to the perf mem data struct to signal that a request caused a
cache-to-cache transfer of a line from a peer of the requestor and
wasn't sourced from a lower cache level.  The line being moved from one
peer cache to another has latency and performance implications. On Arm64
Neoverse systems the data source can indicate a cache-to-cache transfer
but not if the line is dirty or clean, so instead of overloading HITM
define a new flag that indicates this type of transfer.

Signed-off-by: Ali Saidi <alisaidi@amazon.com>
Reviewed-by: Leo Yan <leo.yan@linaro.org>
---
 include/uapi/linux/perf_event.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
index d37629dbad72..7b88bfd097dc 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -1310,7 +1310,7 @@ union perf_mem_data_src {
 #define PERF_MEM_SNOOP_SHIFT	19
 
 #define PERF_MEM_SNOOPX_FWD	0x01 /* forward */
-/* 1 free */
+#define PERF_MEM_SNOOPX_PEER	0x02 /* xfer from peer */
 #define PERF_MEM_SNOOPX_SHIFT  38
 
 /* locked instruction */
-- 
2.32.0


WARNING: multiple messages have this Message-ID (diff)
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 v8 1/5] perf: Add SNOOP_PEER flag to perf mem data struct
Date: Wed, 4 May 2022 18:48:46 +0000	[thread overview]
Message-ID: <20220504184850.24986-2-alisaidi@amazon.com> (raw)
In-Reply-To: <20220504184850.24986-1-alisaidi@amazon.com>

Add a flag to the perf mem data struct to signal that a request caused a
cache-to-cache transfer of a line from a peer of the requestor and
wasn't sourced from a lower cache level.  The line being moved from one
peer cache to another has latency and performance implications. On Arm64
Neoverse systems the data source can indicate a cache-to-cache transfer
but not if the line is dirty or clean, so instead of overloading HITM
define a new flag that indicates this type of transfer.

Signed-off-by: Ali Saidi <alisaidi@amazon.com>
Reviewed-by: Leo Yan <leo.yan@linaro.org>
---
 include/uapi/linux/perf_event.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
index d37629dbad72..7b88bfd097dc 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -1310,7 +1310,7 @@ union perf_mem_data_src {
 #define PERF_MEM_SNOOP_SHIFT	19
 
 #define PERF_MEM_SNOOPX_FWD	0x01 /* forward */
-/* 1 free */
+#define PERF_MEM_SNOOPX_PEER	0x02 /* xfer from peer */
 #define PERF_MEM_SNOOPX_SHIFT  38
 
 /* locked instruction */
-- 
2.32.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-05-04 18:49 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-04 18:48 [PATCH v8 0/4] perf: arm-spe: Decode SPE source and use for perf c2c Ali Saidi
2022-05-04 18:48 ` Ali Saidi
2022-05-04 18:48 ` Ali Saidi [this message]
2022-05-04 18:48   ` [PATCH v8 1/5] perf: Add SNOOP_PEER flag to perf mem data struct Ali Saidi
2022-05-11  5:41   ` kajoljain
2022-05-11  5:41     ` kajoljain
2022-05-04 18:48 ` [PATCH v8 2/5] perf tools: sync addition of PERF_MEM_SNOOPX_PEER Ali Saidi
2022-05-04 18:48   ` Ali Saidi
2022-05-10 16:28   ` Arnaldo Carvalho de Melo
2022-05-10 16:28     ` Arnaldo Carvalho de Melo
2022-05-11  2:20     ` Leo Yan
2022-05-11  2:20       ` Leo Yan
2022-05-11 18:28       ` Arnaldo Carvalho de Melo
2022-05-11 18:28         ` Arnaldo Carvalho de Melo
2022-05-11 18:29         ` Arnaldo Carvalho de Melo
2022-05-11 18:29           ` Arnaldo Carvalho de Melo
2022-05-11  5:42   ` kajoljain
2022-05-11  5:42     ` kajoljain
2022-05-04 18:48 ` [PATCH v8 3/5] perf mem: Print snoop peer flag Ali Saidi
2022-05-04 18:48   ` Ali Saidi
2022-05-11  5:45   ` kajoljain
2022-05-11  5:45     ` kajoljain
2022-05-04 18:48 ` [PATCH v8 4/5] perf arm-spe: Don't set data source if it's not a memory operation Ali Saidi
2022-05-04 18:48   ` Ali Saidi
2022-05-04 18:48 ` [PATCH v8 5/5] perf arm-spe: Use SPE data source for neoverse cores Ali Saidi
2022-05-04 18:48   ` Ali Saidi
2022-05-05 15:03   ` Leo Yan
2022-05-05 15:03     ` Leo Yan

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=20220504184850.24986-2-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 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.