Re: [PATCH v5 2/5] perf: Add SNOOP_PEER flag to perf mem data struct

From: Liang, Kan
Date: Mon Apr 25 2022 - 13:01:49 EST

On 4/24/2022 7:43 AM, Leo Yan wrote:
On Sat, Apr 23, 2022 at 05:53:28AM -0700, Andi Kleen wrote:

Except SNOOPX_FWD means a no modified cache snooping, it also means it's
a cache conherency from *remote* socket. This is quite different from we
define SNOOPX_PEER, which only snoop from peer CPU or clusters.

The FWD doesn't have to be *remote*. The definition you quoted is just for the "L3 Miss", which is indeed a remote forward. But we still have cross-core FWD. See Table 19-101.

Actually, X86 uses the PERF_MEM_REMOTE_REMOTE + PERF_MEM_SNOOPX_FWD to indicate the remote FWD, not just SNOOPX_FWD.

If no objection, I prefer we could keep the new snoop type SNOOPX_PEER,
this would be easier for us to distinguish the semantics and support the
statistics for SNOOPX_FWD and SNOOPX_PEER separately.

I overlooked the flag SNOOPX_FWD, thanks a lot for Kan's reminding.

Yes seems better to keep using a separate flag if they don't exactly match.

Yes, I agree with Andi. If you still think the existing flag combination doesn't match your requirement, a new separate flag should be introduced. I'm not familiar with ARM. I think I will leave it to you and the maintainer to decide.