Re: [PATCH 2/6] tools/perf/json: Add cache metrics for s390 z16

From: Arnaldo Carvalho de Melo
Date: Wed Mar 22 2023 - 16:59:43 EST


Em Tue, Mar 14, 2023 at 06:36:24PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Mar 14, 2023 at 09:34:46AM -0700, Ian Rogers escreveu:
> > On Tue, Mar 14, 2023 at 1:20 AM Thomas Richter <tmricht@xxxxxxxxxxxxx> wrote:
> > >
> > > On 3/13/23 19:33, Arnaldo Carvalho de Melo wrote:
> > > > Em Mon, Mar 13, 2023 at 08:22:44AM -0700, Ian Rogers escreveu:
> > > >> On Mon, Mar 13, 2023 at 1:30 AM Thomas Richter <tmricht@xxxxxxxxxxxxx> wrote:
> > > >>>
> > > >>> Add metrics for s390 z16
> > > >>> - Percentage sourced from Level 2 cache
> > > >>> - Percentage sourced from Level 3 on same chip cache
> > > >>> - Percentage sourced from Level 4 Local cache on same book
> > > >>> - Percentage sourced from Level 4 Remote cache on different book
> > > >>> - Percentage sourced from memory
> > > >>>
> > > >>> For details about the formulas see this documentation:
> > > >>> https://www.ibm.com/support/pages/system/files/inline-files/CPU%20MF%20Formulas%20including%20z16%20-%20May%202022_1.pdf
> > > >>>
> > > >>> Outpuf after:
> > > >>> # ./perf stat -M l4rp -- dd if=/dev/zero of=/dev/null bs=10M count=10K
> > > >>> .... dd output deleted
> > > >>>
> > > >>> Performance counter stats for 'dd if=/dev/zero of=/dev/null bs=10M count=10K':
> > > >>>
> > > >>> 0 IDCW_OFF_DRAWER_CHIP_HIT # 0.00 l4rp
> > > >>> 431,866 L1I_DIR_WRITES
> > > >>> 2,395 IDCW_OFF_DRAWER_IV
> > > >>> 0 ICW_OFF_DRAWER
> > > >>> 0 IDCW_OFF_DRAWER_DRAWER_HIT
> > > >>> 1,437 DCW_OFF_DRAWER
> > > >>> 425,960,793 L1D_DIR_WRITES
> > > >>>
> > > >>> 12.165030699 seconds time elapsed
> > > >>>
> > > >>> 0.001037000 seconds user
> > > >>> 12.162140000 seconds sys
> > > >>>
> > > >>> #
> > > >>>
> > > >>> Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx>
> > > >>> Acked-By: Sumanth Korikkar <sumanthk@xxxxxxxxxxxxx>
> > > >>
> > > >> Acked-by: Ian Rogers <irogers@xxxxxxxxxx>
> > > >
> > > > Thanks, applied the first two patches, please address the review
> > > > suggestions for patches 3-6 and resubmit only those.
> > > >
> > > > The patches will be in the public perf-tools-next branch later today.
> > > >
> > > > - Arnaldo
> > > >
> > >
> > > I would really prefer the current implementation without using "ScaleUnit": "100%"
> > > The reason is that these formulars are given to me from the s390 Performance team.
> > > They want to use the exact same formulars on all platforms running on s390
> > > which includes z/OS and z/VM. This way they are sure to get the same numbers.
> > >
> > > Hope this background info helps.
> >
> > For the series:
> > Acked-by: Ian Rogers <irogers@xxxxxxxxxx>
>
> Thanks, applied.
>
> - Arnaldo

While trying to cross build to s390 on:

ubuntu:18.04

using python3


CC /tmp/build/perf/tests/parse-events.o
Exception processing pmu-events/arch/s390/cf_z16/extended.json
Traceback (most recent call last):
File "pmu-events/jevents.py", line 997, in <module>
main()
File "pmu-events/jevents.py", line 979, in main
ftw(arch_path, [], preprocess_one_file)
File "pmu-events/jevents.py", line 935, in ftw
ftw(item.path, parents + [item.name], action)
File "pmu-events/jevents.py", line 933, in ftw
action(parents, item)
File "pmu-events/jevents.py", line 514, in preprocess_one_file
for event in read_json_events(item.path, topic):
File "pmu-events/jevents.py", line 388, in read_json_events
events = json.load(open(path), object_hook=JsonEvent)
File "/usr/lib/python3.6/json/__init__.py", line 296, in load
return loads(fp.read(),
File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4271: ordinal not in range(128)

>
> > Using ScaleUnit won't change the result. A ScaleUnit of "100%" means
> > scale the result up by multiplying by 100 and then apply the % after
> > the value. Another nit is having metrics that place their units in the
> > name, like _percent, is usually a sign the name can be better. Perhaps
> > we can follow up with some clean up.
> >
> > Thanks,
> > Ian
> >
> > > Thanks a lot.
> > > --
> > > Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
> > > --
> > > Vorsitzender des Aufsichtsrats: Gregor Pillen
> > > Geschäftsführung: David Faller
> > > Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294
> > >
>
> --
>
> - Arnaldo

--

- Arnaldo