Re: [PATCH v2 9/11] perf c2c: Sort on peer snooping for load operations

From: Leo Yan
Date: Wed May 18 2022 - 02:12:35 EST


Hi Adam,

On Fri, May 13, 2022 at 05:05:45PM +0800, Adam Li wrote:

[...]

> > As result, we can get the 'peer' display as below:
> >
> > # perf c2c report -d peer --coalesce tid,pid,iaddr,dso -N --stdio
> >
>
> Hi Leo,
>
> I tested v2 patch on 2P Altra system.
> In case the false-sharing data is mainly from remote node, 'Snoop Peers'
> cannot indicate severity of false-sharing. As showed in bellow output,
> there are only 10 'Load HIT Peer' records, while there are 2353
> 'Load Remote DRAM' records.
>
> And the name 'Load Remote DRAM' is kind of misleading, since we cannot tell
> the data source is 'DRAM'.

Appreicate for the testing, and your feedback is very helpful.

After some discussion, in the patch set v9 "perf: arm-spe: Decode SPE
source and use for perf c2c" (please ignore the typo "v8", actually
it's patch set v9), Ali has updated the memory tag setting for the
type ARM_SPE_NV_REMOTE. I think the prominent change is we set
PERF_MEM_SNOOPX_PEER flag for remote access.

Please note, in the total statistics, all remote accesses will be
accounted into metric "rmt_hit", so "rmt_hit" includes the access for
remote DRAM or any upwards cache levels due we cannot distinguish
them.

>From my experiment, with this updating the output result is promised
for the peer accesses and it's easier for inspecting false sharing.

As you might see I have prepared a git repo:
https://git.linaro.org/people/leo.yan/linux-spe.git/ branch:
perf_c2c_arm_spe_peer_v3, which contains the updated patches for both
memory flag setting and perf c2c related patches.

Could you confirm if the updated code works for you or not?

Thanks,
Leo