2022-08-26 05:32:49

by Leo Yan

[permalink] [raw]
Subject: [PATCH RESEND v6] perf: Add SNOOP_PEER flag to perf mem data struct

From: Ali Saidi <[email protected]>

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 <[email protected]>
Reviewed-by: Leo Yan <[email protected]>
Reviewed-by: Kajol Jain<[email protected]>
---
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


2022-08-26 05:39:13

by Leo Yan

[permalink] [raw]
Subject: Re: [PATCH RESEND v6] perf: Add SNOOP_PEER flag to perf mem data struct

On Fri, Aug 26, 2022 at 01:16:03PM +0800, Leo Yan wrote:
> From: Ali Saidi <[email protected]>
>
> 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.

Hi Peter, could you help to merge this patch? Thanks!

Leo

2022-08-26 06:33:45

by Leo Yan

[permalink] [raw]
Subject: Re: [PATCH RESEND v6] perf: Add SNOOP_PEER flag to perf mem data struct

On Fri, Aug 26, 2022 at 01:17:18PM +0800, Leo Yan wrote:
> On Fri, Aug 26, 2022 at 01:16:03PM +0800, Leo Yan wrote:
> > From: Ali Saidi <[email protected]>
> >
> > 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.
>
> Hi Peter, could you help to merge this patch? Thanks!

I sent a new patch with adding my SoB:
https://lore.kernel.org/lkml/[email protected]/T/#u

Sorry for spamming.