[PATCH] perf vendor events power10: Update JSON/events

Arnaldo Carvalho de Melo acme at kernel.org
Thu Aug 1 06:14:51 AEST 2024


On Wed, Jul 31, 2024 at 04:44:49PM -0300, Arnaldo Carvalho de Melo wrote:
> On Fri, Jul 26, 2024 at 11:08:55AM -0300, Arnaldo Carvalho de Melo wrote:
> > On Tue, Jul 23, 2024 at 09:02:23AM -0700, Ian Rogers wrote:
> > > On Mon, Jul 22, 2024 at 10:27 PM Kajol Jain <kjain at linux.ibm.com> wrote:
> > > >
> > > > Update JSON/events for power10 platform with additional events.
> > > > Also move PM_VECTOR_LD_CMPL event from others.json to
> > > > frontend.json file.
> > > >
> > > > Signed-off-by: Kajol Jain <kjain at linux.ibm.com>
> > > 
> > > Reviewed-by: Ian Rogers <irogers at google.com>
> > 
> > Thanks, applied to tmp.perf-tools-next,
> 
> This seems to be causing this:
> 
> Exception processing pmu-events/arch/powerpc/power10/others.json
> Traceback (most recent call last):
>   File "pmu-events/jevents.py", line 1309, in <module>
>     main()
>   File "pmu-events/jevents.py", line 1291, in main
>     ftw(arch_path, [], preprocess_one_file)
>   File "pmu-events/jevents.py", line 1241, in ftw
>     ftw(item.path, parents + [item.name], action)
>   File "pmu-events/jevents.py", line 1239, in ftw
>     action(parents, item)
>   File "pmu-events/jevents.py", line 623, in preprocess_one_file
>     for event in read_json_events(item.path, topic):
>   File "pmu-events/jevents.py", line 440, in read_json_events
>     events = json.load(open(path), object_hook=JsonEvent)
>   File "/usr/lib/python3.6/json/__init__.py", line 296, in load
>   CC      /tmp/build/perf/bench/evlist-open-close.o
>     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 9231: ordinal not in range(128)
> pmu-events/Build:35: recipe for target '/tmp/build/perf/pmu-events/pmu-events.c' failed
> make[3]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 1
> make[3]: *** Deleting file '/tmp/build/perf/pmu-events/pmu-events.c'
> Makefile.perf:763: recipe for target '/tmp/build/perf/pmu-events/pmu-events-in.o' failed
> make[2]: *** [/tmp/build/perf/pmu-events/pmu-events-in.o] Error 2
> make[2]: *** Waiting for unfinished jobs....
>   CC      /tmp/build/perf/tests/hists_cumulate.o
>   CC      /tmp/build/perf/arch/powerpc/util/event.o
>   CC      /tmp/build/perf/bench/breakpoint.o
>   CC      /tmp/build/perf/builtin-data.o
> 
> 
> This happened in the past, I'm now trying to figure this out :-\
> 
> This was in:
> 
> toolsbuilder at five:~$ cat dm.log/ubuntu:18.04-x-powerpc
> 
> 
> So 32-bit powerpc, ubuntu 18.04

This did the trick, so I fixed it in my repo, please ack, just replacing
’ with ' :-\

- Arnaldo


diff --git a/tools/perf/pmu-events/arch/powerpc/power10/others.json b/tools/perf/pmu-events/arch/powerpc/power10/others.json
index 53ca610152faa237..3789304cb363bbb7 100644
--- a/tools/perf/pmu-events/arch/powerpc/power10/others.json
+++ b/tools/perf/pmu-events/arch/powerpc/power10/others.json
@@ -197,6 +197,6 @@
   {
     "EventCode": "0x0B0000026880",
     "EventName": "PM_L2_SNP_TLBIE_SLBIE_DELAY",
-    "BriefDescription": "Cycles when a TLBIE/SLBIEG/SLBIAG that targets this thread's LPAR was in flight while in a hottemp condition. Multiply this count by 1000 to obtain the total number of cycles. This can be divided by PM_L2_SNP_TLBIE_SLBIE_START to obtain the overall efficiency. Note: ’inflight’ means SnpTLB has been sent to core(ie doesn’t include when SnpTLB is in NCU waiting to be launched serially behind different SnpTLB). The NCU Snooper gets in a ’hottemp’ delay window when it detects it is above its TLBIE/SLBIE threshold for process SnpTLBIE/SLBIE with this core. Event count should be multiplied by 2 since the data is coming from a 2:1 clock domain and the data is time sliced across all 4 threads."
+    "BriefDescription": "Cycles when a TLBIE/SLBIEG/SLBIAG that targets this thread's LPAR was in flight while in a hottemp condition. Multiply this count by 1000 to obtain the total number of cycles. This can be divided by PM_L2_SNP_TLBIE_SLBIE_START to obtain the overall efficiency. Note: 'inflight' means SnpTLB has been sent to core(ie doesn't include when SnpTLB is in NCU waiting to be launched serially behind different SnpTLB). The NCU Snooper gets in a 'hottemp' delay window when it detects it is above its TLBIE/SLBIE threshold for process SnpTLBIE/SLBIE with this core. Event count should be multiplied by 2 since the data is coming from a 2:1 clock domain and the data is time sliced across all 4 threads."
   }
 ]


More information about the Linuxppc-dev mailing list