Re: [PATCH v5] perf stat: Fix wrong skipping for per-die aggregation

From: Jiri Olsa
Date: Wed Jan 13 2021 - 06:08:48 EST


On Wed, Jan 13, 2021 at 09:56:31AM +0800, Jin Yao wrote:

SNIP

>
> root@lkp-csl-2ap4 ~# ./perf stat -a -I 1000 -e llc_misses.mem_read --per-die -- sleep 5
> 1.001586691 S0-D0 1 1229440 Bytes llc_misses.mem_read
> 1.001586691 S0-D1 1 976832 Bytes llc_misses.mem_read
> 1.001586691 S1-D0 1 938304 Bytes llc_misses.mem_read
> 1.001586691 S1-D1 1 1227328 Bytes llc_misses.mem_read
> 2.003776312 S0-D0 1 1586752 Bytes llc_misses.mem_read
> 2.003776312 S0-D1 1 875392 Bytes llc_misses.mem_read
> 2.003776312 S1-D0 1 855616 Bytes llc_misses.mem_read
> 2.003776312 S1-D1 1 949376 Bytes llc_misses.mem_read
> 3.006512788 S0-D0 1 1338880 Bytes llc_misses.mem_read
> 3.006512788 S0-D1 1 920064 Bytes llc_misses.mem_read
> 3.006512788 S1-D0 1 877184 Bytes llc_misses.mem_read
> 3.006512788 S1-D1 1 1020736 Bytes llc_misses.mem_read
> 4.008895291 S0-D0 1 926592 Bytes llc_misses.mem_read
> 4.008895291 S0-D1 1 906368 Bytes llc_misses.mem_read
> 4.008895291 S1-D0 1 892224 Bytes llc_misses.mem_read
> 4.008895291 S1-D1 1 987712 Bytes llc_misses.mem_read
> 5.001590993 S0-D0 1 962624 Bytes llc_misses.mem_read
> 5.001590993 S0-D1 1 912512 Bytes llc_misses.mem_read
> 5.001590993 S1-D0 1 891200 Bytes llc_misses.mem_read
> 5.001590993 S1-D1 1 978432 Bytes llc_misses.mem_read
>
> On no-die system, die_id is 0, actually it's hashmap(socket,0), original behavior
> is not changed.
>
> Reported-by: Huang Ying <ying.huang@xxxxxxxxx>
> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
> ---
> v5:
> Hash key is changed to die_id << 32 | socket.
> In pkg_id_hash, return (int64_t)key & 0xffffffff; actually it's socket.

seems ok, but I'm getting python test fail:

$ sudo ./perf test python -v
19: 'import perf' in python :
--- start ---
test child forked, pid 1352066
python usage test: "echo "import sys ; sys.path.append('python'); import perf" | '/usr/bin/python2' "
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: python/perf.so: undefined symbol: hashmap__free
test child finished with -1
---- end ----
'import perf' in python: FAILED!

jirka