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.
Thanks,
Kan