[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220826060556.176681-1-leo.yan@linaro.org>
Date: Fri, 26 Aug 2022 14:05:56 +0800
From: Leo Yan <leo.yan@...aro.org>
To: Peter Zijlstra <peterz@...radead.org>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Ingo Molnar <mingo@...hat.com>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Ali Saidi <alisaidi@...zon.com>, Leo Yan <leo.yan@...aro.org>,
Kajol Jain <kjain@...ux.ibm.com>
Subject: [PATCH v7] perf: Add SNOOP_PEER flag to perf mem data struct
From: Ali Saidi <alisaidi@...zon.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.
Update notes:
This patch is to sync the headers between kernel and user space, commit
2e21bcf0514a ("perf tools: Sync addition of PERF_MEM_SNOOPX_PEER") for
updating kernel header has been merged in the mainline code.
Signed-off-by: Ali Saidi <alisaidi@...zon.com>
Reviewed-by: Leo Yan <leo.yan@...aro.org>
Reviewed-by: Kajol Jain<kjain@...ux.ibm.com>
Signed-off-by: Leo Yan <leo.yan@...aro.org>
---
Changes from v6:
Added Leo's SoB.
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 03b370062741..581ed4bdc062 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -1313,7 +1313,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.34.1
Powered by blists - more mailing lists