Ian Rogers
8a54784e70
perf build: Add pylint build tests
...
If PYLINT=1 is passed to the build then run pylint over python code in
perf. Unlike shellcheck this isn't default on as there are currently
too many errors.
An example of an error:
```
************* Module setup
util/setup.py:19:0: C0301: Line too long (127/100) (line-too-long)
util/setup.py:20:0: C0301: Line too long (138/100) (line-too-long)
util/setup.py:63:0: C0301: Line too long (106/100) (line-too-long)
util/setup.py:1:0: C0114: Missing module docstring (missing-module-docstring)
util/setup.py:24:4: W0622: Redefining built-in 'vars' (redefined-builtin)
util/setup.py:11:4: C0103: Constant name "cc_options" doesn't conform to UPPER_CASE naming style (invalid-name)
util/setup.py:13:4: C0103: Constant name "cc_options" doesn't conform to UPPER_CASE naming style (invalid-name)
util/setup.py:15:34: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
util/setup.py:18:0: C0116: Missing function or method docstring (missing-function-docstring)
util/setup.py:19:16: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
util/setup.py:44:0: C0413: Import "from setuptools import setup, Extension" should be placed at the top of the module (wrong-import-position)
util/setup.py:46:0: C0413: Import "from setuptools.command.build_ext import build_ext as _build_ext" should be placed at the top of the module (wrong-import-position)
util/setup.py:47:0: C0413: Import "from setuptools.command.install_lib import install_lib as _install_lib" should be placed at the top of the module (wrong-import-position)
util/setup.py:49:0: C0115: Missing class docstring (missing-class-docstring)
util/setup.py:49:0: C0103: Class name "build_ext" doesn't conform to PascalCase naming style (invalid-name)
util/setup.py:52:8: W0201: Attribute 'build_lib' defined outside __init__ (attribute-defined-outside-init)
util/setup.py:53:8: W0201: Attribute 'build_temp' defined outside __init__ (attribute-defined-outside-init)
util/setup.py:55:0: C0115: Missing class docstring (missing-class-docstring)
util/setup.py:55:0: C0103: Class name "install_lib" doesn't conform to PascalCase naming style (invalid-name)
util/setup.py:58:8: W0201: Attribute 'build_dir' defined outside __init__ (attribute-defined-outside-init)
*-----------------------------------------------------------------
Your code has been rated at 6.67/10 (previous run: 6.51/10, +0.16)
make[4]: *** [util/Build:442: util/setup.py.pylint_log] Error 1
```
Reviewed-by: James Clark <james.clark@linaro.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250311213628.569562-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-24 09:38:20 -07:00
Ian Rogers
168910d0f9
perf build: Add mypy build tests
...
If MYPY=1 is passed to the build then run mypy over python code in
perf. Unlike shellcheck this isn't default on as there are currently
too many errors.
An example of an error:
```
util/setup.py:8: error: Item "None" of "str | None" has no attribute "split" [union-attr]
util/setup.py:15: error: Item "None" of "IO[bytes] | None" has no attribute "readline" [union-attr]
util/setup.py:15: error: List item 0 has incompatible type "str | None"; expected "str | bytes | PathLike[str] | PathLike[bytes]" [list-item]
util/setup.py:16: error: Unsupported left operand type for + ("None") [operator]
util/setup.py:16: note: Left operand is of type "str | None"
util/setup.py:74: error: Unsupported left operand type for + ("None") [operator]
util/setup.py:74: note: Left operand is of type "str | None"
Found 5 errors in 1 file (checked 1 source file)
make[4]: *** [util/Build:430: util/setup.py.mypy_log] Error 1
```
Reviewed-by: James Clark <james.clark@linaro.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250311213628.569562-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-24 09:38:20 -07:00
Ilkka Koskinen
182f12f319
perf vendor events arm64 AmpereOneX: Fix frontend_bound calculation
...
frontend_bound metrics was miscalculated due to different scaling in
a couple of metrics it depends on. Change the scaling to match with
AmpereOne.
Fixes: 16438b652b ("perf vendor events arm64 AmpereOneX: Add core PMU events and metrics")
Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com >
Reviewed-by: James Clark <james.clark@linaro.org >
Link: https://lore.kernel.org/r/20250313201559.11332-3-ilkka@os.amperecomputing.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-20 22:58:57 -07:00
Ilkka Koskinen
c0b60ce461
perf vendor events arm64: AmpereOne/AmpereOneX: Mark LD_RETIRED impacted by errata
...
Atomic instructions are both memory-reading and memory-writing
instructions and so should be counted by both LD_RETIRED and ST_RETIRED
performance monitoring events. However LD_RETIRED does not count atomic
instructions.
Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com >
Reviewed-by: James Clark <james.clark@linaro.org >
Link: https://lore.kernel.org/r/20250313201559.11332-2-ilkka@os.amperecomputing.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-20 22:58:57 -07:00
Eric Lin
6dad43bb11
perf vendor events riscv: Add SiFive P650 events
...
The SiFive Performance P650 core (including the vector-enabled P670 and
area-optimized P450/P470 variants) updates the P550 microarchitecture.
It brings in the debug, trace, and counter events from newer Bullet
cores, and adds new events for iTLB and dTLB multi-hits.
All other PMU events are unchanged from the P550 core.
Signed-off-by: Eric Lin <eric.lin@sifive.com >
Co-developed-by: Samuel Holland <samuel.holland@sifive.com >
Signed-off-by: Samuel Holland <samuel.holland@sifive.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Tested-by: Ian Rogers <irogers@google.com >
Tested-by: Atish Patra <atishp@rivosinc.com >
Link: https://lore.kernel.org/r/20250213220341.3215660-8-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-10 14:15:38 -07:00
Eric Lin
2e3a13d6b7
perf vendor events riscv: Add SiFive P550 events
...
The SiFive Performance P550 core features an out-of-order
microarchitecture which exposes the same PMU events as Bullet,
plus events for UTLB hits and PTE cache misses/hits.
Add support for specifying these events using symbolic names.
Signed-off-by: Eric Lin <eric.lin@sifive.com >
Co-developed-by: Samuel Holland <samuel.holland@sifive.com >
Signed-off-by: Samuel Holland <samuel.holland@sifive.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Tested-by: Ian Rogers <irogers@google.com >
Tested-by: Atish Patra <atishp@rivosinc.com >
Link: https://lore.kernel.org/r/20250213220341.3215660-7-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-10 14:15:38 -07:00
Eric Lin
8866a33815
perf vendor events riscv: Add SiFive Bullet version 0x0d events
...
SiFive Bullet microarchitecture cores with mimpid values starting with
0x0d or greater add new PMU events to count TLB miss stall cycles.
All other PMU events are unchanged from earlier Bullet cores.
Signed-off-by: Eric Lin <eric.lin@sifive.com >
Signed-off-by: Samuel Holland <samuel.holland@sifive.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Tested-by: Ian Rogers <irogers@google.com >
Tested-by: Atish Patra <atishp@rivosinc.com >
Link: https://lore.kernel.org/r/20250213220341.3215660-6-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-10 14:15:38 -07:00
Eric Lin
acaefd6049
perf vendor events riscv: Add SiFive Bullet version 0x07 events
...
SiFive Bullet microarchitecture cores with mimpid values starting with
0x07 or greater add new PMU events to support debug, trace, and counter
sampling and filtering (Sscofpmf).
All other PMU events are unchanged from earlier Bullet cores.
Signed-off-by: Eric Lin <eric.lin@sifive.com >
Co-developed-by: Samuel Holland <samuel.holland@sifive.com >
Signed-off-by: Samuel Holland <samuel.holland@sifive.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Tested-by: Ian Rogers <irogers@google.com >
Tested-by: Atish Patra <atishp@rivosinc.com >
Link: https://lore.kernel.org/r/20250213220341.3215660-5-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-10 14:15:38 -07:00
Eric Lin
4f762cb409
perf vendor events riscv: Update SiFive Bullet events
...
Regenerate the event lists from the original hardware description. This
makes them consistent with the event lists for newer versions of the
hardware, allowing most files to be reused across hardware versions.
Signed-off-by: Eric Lin <eric.lin@sifive.com >
Co-developed-by: Samuel Holland <samuel.holland@sifive.com >
Signed-off-by: Samuel Holland <samuel.holland@sifive.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Tested-by: Ian Rogers <irogers@google.com >
Tested-by: Atish Patra <atishp@rivosinc.com >
Link: https://lore.kernel.org/r/20250213220341.3215660-4-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-10 14:15:38 -07:00
Samuel Holland
0d042fa514
perf vendor events riscv: Remove leading zeroes
...
The EventCode field (as stored in the mhpmeventN CSRs) is actually 56
bits wide, but there is no need to keep leading zeroes in the JSON
files. Remove them to simplify review of the following change, which
regenerates the files in a way that does not include leading zeroes.
This change was performed automatically with `sed -i "s/0x0*/0x/"`.
Signed-off-by: Samuel Holland <samuel.holland@sifive.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Tested-by: Ian Rogers <irogers@google.com >
Tested-by: Atish Patra <atishp@rivosinc.com >
Link: https://lore.kernel.org/r/20250213220341.3215660-3-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-10 14:15:38 -07:00
Samuel Holland
d35ad7e881
perf vendor events riscv: Rename U74 to Bullet
...
This set of PMU event descriptions applies not only to the SiFive U74
core configuration, but also to other SiFive cores that implement the
Bullet microarchitecture (such as U64, P270, and X280). Rename the
directory to be more generic.
Signed-off-by: Samuel Holland <samuel.holland@sifive.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Tested-by: Ian Rogers <irogers@google.com >
Tested-by: Atish Patra <atishp@rivosinc.com >
Link: https://lore.kernel.org/r/20250213220341.3215660-2-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-10 14:15:37 -07:00
Yangyu Chen
2ed0e3ea8a
perf vendor events arm64: Fix incorrect CPU_CYCLE in metrics expr
...
Some existing metrics for Neoverse N3 and V3 expressions use CPU_CYCLE
to represent the number of cycles, but this is incorrect. The correct
event to use is CPU_CYCLES.
I encountered this issue while working on a patch to add pmu events for
Cortex A720 and A520 by reusing the existing patch for Neoverse N3 and
V3 by James Clark [1] and my check script [2] reported this issue.
[1] https://lore.kernel.org/lkml/20250122163504.2061472-1-james.clark@linaro.org/
[2] https://github.com/cyyself/arm-pmu-check
Signed-off-by: Yangyu Chen <cyy@cyyself.name >
Reviewed-by: James Clark <james.clark@linaro.org >
Link: https://lore.kernel.org/r/tencent_D4ED18476ADCE818E31084C60E3E72C14907@qq.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-19 13:23:43 -08:00
Ian Rogers
8a6dcb26af
perf vendor events: Update Tigerlake events/metrics
...
Update events from v1.16 to v1.17.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.17:
e1d5ac3412
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-24-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
f2f3a4afdd
perf vendor events: Update SkylakeX events/metrics
...
Update events from v1.35 to v1.36.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.36:
f6801e5c14
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-23-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
228c556a63
perf vendor events: Update Skylake metrics
...
Update TMA metrics from 4.8 to 5.02.
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-22-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
86f5536004
perf vendor events: Update Sierraforest events/metrics
...
Update events from v1.04 to v1.07.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.08:
7ae9c45ccf
903b3d0a0a
825c436147
bafe6a7b5c
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Update uncore IIO events umask with the change:
d78e8a1665
which should address an issue originally raised by Michael Petlan:
Reported-by: Michael Petlan <mpetlan@redhat.com >
Closes: https://lore.kernel.org/all/alpine.LRH.2.20.2401300733310.11354@Diego/
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-21-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
830ee133a5
perf vendor events: Update Sapphirerapids events/metrics
...
Update events from v1.23 to v1.25.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.25:
78d6273c54
f069ed9d0b
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Update uncore IIO events umask with the change:
d78e8a1665
which should address an issue originally raised by Michael Petlan:
Reported-by: Michael Petlan <mpetlan@redhat.com >
Closes: https://lore.kernel.org/all/alpine.LRH.2.20.2401300733310.11354@Diego/
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-20-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
870b92024e
perf vendor events: Update Rocketlake events/metrics
...
Update events from v1.03 to v1.04.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.04:
015d5a5eab
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-19-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
b4152015a9
perf vendor events: Update Meteorlake events/metrics
...
Update events from v1.10 to v1.12.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.12:
d8fe70c91b
b9dabd05ff
This updates the mapfile.csv for the 0xB5 CPUID variant of meteorlake.
c3094bc9bb
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-18-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
23878069de
perf vendor events: Update/add Lunarlake events/metrics
...
Update events from v1.01 to v1.10.
Add TMA metrics 5.02.
Bring in the event updates v1.11:
af329039e8
4a1cff8ceb
cbc3b0dc19
28f4b24f91
172900e962
dab0308f7a
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-17-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
c49b050915
perf vendor events: Update IcelakeX events/metrics
...
Update events from v1.26 to v1.27.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.27:
6ee80d0532
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-16-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
094b233575
perf vendor events: Update Icelake events/metrics
...
Update events from v1.22 to v1.24.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.24:
d4f10746cf
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-15-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
be67d89f79
perf vendor events: Update HaswellX events/metrics
...
Update events from v28 to v29.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v29:
71dbf03aba
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-14-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
55bf5d0792
perf vendor events: Update Haswell events/metrics
...
Update events from v35 to v36.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v36:
616ec6fc03
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Remove duplicate event UNC_CLOCK.SOCKET that was erroneously left in
uncore-other.json.
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-13-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:39 -08:00
Ian Rogers
aaa73d778b
perf vendor events: Update/add Graniterapids events/metrics
...
Update events from v1.02 to v1.06.
Add TMA metrics 5.02.
Bring in the event updates v1.06:
de5502e51a
79b9e512ea
bc74a895e4
The TMA 5.02 addition is from (with subsequent fixes):
1d72913b2d
Update uncore IIO events umask with the change:
d78e8a1665
which should address an issue originally raised by Michael Petlan:
Reported-by: Michael Petlan <mpetlan@redhat.com >
Closes: https://lore.kernel.org/all/alpine.LRH.2.20.2401300733310.11354@Diego/
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-12-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
b52c4123a5
perf vendor events: Update GrandRidge events/metrics
...
Update events from v1.03 to v1.05.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.05:
3b2e3528fb
9bc1815536
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Update uncore IIO events umask with the change:
d78e8a1665
which should address an issue originally raised by Michael Petlan:
Reported-by: Michael Petlan <mpetlan@redhat.com >
Closes: https://lore.kernel.org/all/alpine.LRH.2.20.2401300733310.11354@Diego/
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-11-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
5ee60fbf73
perf vendor events: Update EmeraldRapids events/metrics
...
Update events from v1.09 to v1.11.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.11:
bffcec00a1
a63da6de48
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Update uncore IIO events umask with the change:
d78e8a1665
which should address an issue originally raised by Michael Petlan:
Reported-by: Michael Petlan <mpetlan@redhat.com >
Closes: https://lore.kernel.org/all/alpine.LRH.2.20.2401300733310.11354@Diego/
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-10-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
e415c1493f
perf vendor events: Add Clearwaterforest events
...
Add events v1.00.
Bring in the events from:
https://github.com/intel/perfmon/tree/main/CWF/events
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-9-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
7487e4fce9
perf vendor events: Update CascadelakeX events/metrics
...
Update events from v1.22 to v1.23.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.23:
8f3665f6be
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-8-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
a75d905d64
perf vendor events: Update BroadwellX events/metrics
...
Update events from v22 to v23.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v23:
679982113f
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-7-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
11e644eb46
perf vendor events: Update BroadwellDE events/metrics
...
Update events from v11 to v12.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v12:
e0b83388d5
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-6-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
240411b048
perf vendor events: Update Broadwell events/metrics
...
Update events from v29 to v30.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v30:
9a1827b2ac
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
ba56a91063
perf vendor events: Add Arrowlake events/metrics
...
Add events v1.07.
Add TMA metrics based on v5.02.
Bring in the events from:
https://github.com/intel/perfmon/tree/main/ARL/events
TMA 5.02 is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
b04fe42f6e
perf vendor events: Update AlderlakeN events/metrics
...
Update events from v1.27 to v1.28.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.28:
801f43f22e
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-developed-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-3-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
54169b4663
perf vendor events: Update Alderlake events/metrics
...
Update events from v1.27 to v1.28.
Update TMA metrics from 4.8 to 5.02.
Bring in the event updates v1.28:
801f43f22e
The TMA 5.02 update is from (with subsequent fixes):
1d72913b2d
Co-authored-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Caleb Biggers <caleb.biggers@intel.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Tested-by: Thomas Falcon <thomas.falcon@intel.com >
Link: https://lore.kernel.org/r/20250211213031.114209-2-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:38 -08:00
Ian Rogers
63e287131c
perf pmu: Rename name matching for no suffix or wildcard variants
...
Wildcard PMU naming will match a name like pmu_1 to a PMU name like
pmu_10 but not to a PMU name like pmu_2 as the suffix forms part of
the match. No suffix matching will match pmu_10 to either pmu_1 or
pmu_2. Add or rename matching functions on PMU to make it clearer what
kind of matching is being performed.
Signed-off-by: Ian Rogers <irogers@google.com >
Reviewed-by: Kan Liang <kan.liang@linux.intel.com >
Link: https://lore.kernel.org/r/20250201074320.746259-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-04 21:28:46 -08:00
James Clark
66e99fd5a1
perf vendor events arm64: Add V3 events/metrics
...
Using the scripts at:
https://gitlab.arm.com/telemetry-solution/telemetry-solution/
Generate perf json for neoverse-v3 using the following command:
```
$ telemetry-solution/tools/perf_json_generator/generate.py \
tools/perf/ --telemetry-files \
telemetry-solution/data/pmu/cpu/neoverse/neoverse-v3.json
```
Signed-off-by: Ian Rogers <irogers@google.com >
[Re-generate after updating script]
Signed-off-by: James Clark <james.clark@linaro.org >
Link: https://lore.kernel.org/r/20250122163504.2061472-3-james.clark@linaro.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-01-24 15:14:15 -08:00
James Clark
994256a798
perf vendor events arm64: Add N3 events/metrics
...
Using the scripts at:
https://gitlab.arm.com/telemetry-solution/telemetry-solution/
Generate perf json for neoverse-n3 using the following command:
```
$ telemetry-solution/tools/perf_json_generator/generate.py \
tools/perf/ --telemetry-files \
telemetry-solution/data/pmu/cpu/neoverse/neoverse-n3.json
```
Signed-off-by: Ian Rogers <irogers@google.com >
[Re-generate after updating script]
Signed-off-by: James Clark <james.clark@linaro.org >
Link: https://lore.kernel.org/r/20250122163504.2061472-2-james.clark@linaro.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-01-24 15:14:06 -08:00
Yoshihiro Furudera
e5e34e9995
perf vendor events arm64: Add FUJITSU-MONAKA PMU event
...
Add PMU events for FUJITSU-MONAKA.
And, also updated common-and-microarch.json and recommended.json.
FUJITSU-MONAKA Specification URL:
https://github.com/fujitsu/FUJITSU-MONAKA
Reviewed-by: James Clark <james.clark@linaro.org >
Signed-off-by: Akio Kakuno <fj3333bs@aa.jp.fujitsu.com >
Signed-off-by: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Ian Rogers <irogers@google.com >
Cc: Ilkka Koskinen <ilkka@os.amperecomputing.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jing Zhang <renyu.zj@linux.alibaba.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Lucas Stach <l.stach@pengutronix.de >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Will Deacon <will@kernel.org >
Cc: Xu Yang <xu.yang_2@nxp.com >
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20241217065751.1448755-1-fj5100bi@fujitsu.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2025-01-10 10:59:42 -03:00
Ian Rogers
26f45ec8f0
perf jevents: Provide better path information for broken JSON
...
If the JSON input to jevents.py is broken it can be problematic to
work out which particular JSON file is broken. When processing files
catch exceptions that occur that re-raise the exception with path
details added.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Benjamin Gray <bgray@linux.ibm.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Sandipan Das <sandipan.das@amd.com >
Cc: Stephane Eranian <eranian@google.com >
Cc: Xu Yang <xu.yang_2@nxp.com >
Link: https://lore.kernel.org/r/20241114172309.840241-1-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2024-12-23 13:53:08 -03:00
James Clark
7269846617
perf vendor events arm64: Update N2/V2 events from source
...
Update using the new data [1] for these changes:
* Scale some metrics like dtlb_walk_ratio to percent so they display
better with Perf's 2 dp precision
* Description typos, grammar and clarifications
* Unnecessary metric formula brackets seem to have been removed in the
source but this is not a functional change
* New sve_all_percentage metric
The following command was used to generate this commit:
$ telemetry-solution/tools/perf_json_generator/generate.py \
tools/perf/ --telemetry-files \
telemetry-solution/data/pmu/cpu/neoverse/neoverse-v2.json:neoverse-n2-v2
[1]: https://gitlab.arm.com/telemetry-solution/telemetry-solution/-/blob/main/data/pmu/cpu/neoverse/neoverse-v2.json
Reviewed-by: Ian Rogers <irogers@google.com >
Signed-off-by: James Clark <james.clark@linaro.org >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Will Deacon <will@kernel.org >
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20241120143739.243728-1-james.clark@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2024-12-12 15:41:27 -03:00
Ian Rogers
7504a1c20e
perf jevents: Fix build issue in '*/' in event descriptions
...
For big string offsets we output comments for what string the offset
is for. If the string contains a '*/' as seen in Intel Arrowlake event
descriptions, then this causes C parsing issues for the generated
pmu-events.c. Catch such '*/' values and escape to avoid this.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Benjamin Gray <bgray@linux.ibm.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Sandipan Das <sandipan.das@amd.com >
Cc: Xu Yang <xu.yang_2@nxp.com >
Link: https://lore.kernel.org/r/20241113165558.628856-1-irogers@google.com
[ Used return s.replace('*/', r'\*\/') based on failure followed by request by Ian ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2024-12-10 16:59:09 -03:00
Ian Rogers
8f997865ee
perf pmu: Move pmu_metrics_table__find and remove ARM override
...
Move pmu_metrics_table__find() to the jevents.py generated pmu-events.c
and remove indirection override for ARM.
The movement removes perf_pmu__find_metrics_table that exists to enable
the ARM override.
The ARM override isn't necessary as just the CPUID, not PMU, is used in
the metric table lookup.
On non-ARM the CPU argument is just ignored for the CPUID, for ARM -1 is
passed so that the CPUID for the first logical CPU is read.
Reviewed-by: James Clark <james.clark@linaro.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Xu Yang <xu.yang_2@nxp.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexandre Ghiti <alexghiti@rivosinc.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: Ben Zong-You Xie <ben717@andestech.com >
Cc: Benjamin Gray <bgray@linux.ibm.com >
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: Clément Le Goffic <clement.legoffic@foss.st.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Masami Hiramatsu <mhiramat@kernel.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Sandipan Das <sandipan.das@amd.com >
Cc: Will Deacon <will@kernel.org >
Cc: Yicong Yang <yangyicong@hisilicon.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Link: https://lore.kernel.org/r/20241107162035.52206-9-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2024-11-16 16:42:36 -03:00
Ian Rogers
0434410fa4
perf jevents: Add map_for_cpu()
...
The PMU is no longer part of the map finding process and for metrics
doesn't make sense as they lack a PMU.
Reviewed-by: James Clark <james.clark@linaro.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Xu Yang <xu.yang_2@nxp.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexandre Ghiti <alexghiti@rivosinc.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: Ben Zong-You Xie <ben717@andestech.com >
Cc: Benjamin Gray <bgray@linux.ibm.com >
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: Clément Le Goffic <clement.legoffic@foss.st.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Masami Hiramatsu <mhiramat@kernel.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Sandipan Das <sandipan.das@amd.com >
Cc: Will Deacon <will@kernel.org >
Cc: Yicong Yang <yangyicong@hisilicon.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Link: https://lore.kernel.org/r/20241107162035.52206-8-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2024-11-16 16:41:42 -03:00
Ian Rogers
494c403ff1
perf header: Pass a perf_cpu rather than a PMU to get_cpuid_str
...
On ARM the cpuid is dependent on the core type of the CPU in
question. The PMU was passed for the sake of the CPU map but this
means in places a temporary PMU is created just to pass a CPU
value. Just pass the CPU and fix up the callers.
As there are no longer PMU users in header.h, shuffle forward
declarations earlier to work around build failures.
Reviewed-by: James Clark <james.clark@linaro.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Xu Yang <xu.yang_2@nxp.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexandre Ghiti <alexghiti@rivosinc.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: Ben Zong-You Xie <ben717@andestech.com >
Cc: Benjamin Gray <bgray@linux.ibm.com >
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: Clément Le Goffic <clement.legoffic@foss.st.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Masami Hiramatsu <mhiramat@kernel.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Sandipan Das <sandipan.das@amd.com >
Cc: Will Deacon <will@kernel.org >
Cc: Yicong Yang <yangyicong@hisilicon.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Link: https://lore.kernel.org/r/20241107162035.52206-7-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2024-11-16 16:40:30 -03:00
Xu Yang
4a159e6049
perf jevents: fix breakage when do perf stat on system metric
...
When do perf stat on sys metric, perf tool output nothing now:
$ perf stat -a -M imx95_ddr_read.all -I 1000
$
This command runs on an arm64 machine and the Soc has one DDR hw pmu
except one armv8_cortex_a55 pmu. Their maps show as follows:
const struct pmu_events_map pmu_events_map[] = {
{
.arch = "arm64",
.cpuid = "0x00000000410fd050",
.event_table = {
.pmus = pmu_events__arm_cortex_a55,
.num_pmus = ARRAY_SIZE(pmu_events__arm_cortex_a55)
},
.metric_table = {
.pmus = NULL,
.num_pmus = 0
}
},
static const struct pmu_sys_events pmu_sys_event_tables[] = {
{
.event_table = {
.pmus = pmu_events__freescale_imx95_sys,
.num_pmus = ARRAY_SIZE(pmu_events__freescale_imx95_sys)
},
.metric_table = {
.pmus = pmu_metrics__freescale_imx95_sys,
.num_pmus = ARRAY_SIZE(pmu_metrics__freescale_imx95_sys)
},
.name = "pmu_events__freescale_imx95_sys",
},
Currently, pmu_metrics_table__find() will return NULL when only do perf
stat on sys metric. Then parse_groups() will never be called to parse
sys metric_name, finally perf tool will exit directly. This should be a
common problem.
To fix the issue, this will keep the logic before commit f20c15d13f
("perf pmu-events: Remember the perf_events_map for a PMU") to return a
empty metric table rather than a NULL pointer.
This should be fine since the removed part just check if the table match
provided metric_name. Without these code, the code in parse_groups()
will also check the validity of metrci_name too.
Fixes: f20c15d13f ("perf pmu-events: Remember the perf_events_map for a PMU")
Reviewed-by: James Clark <james.clark@linaro.org >
Signed-off-by: Xu Yang <xu.yang_2@nxp.com >
Tested-by: Xu Yang <xu.yang_2@nxp.com >
Acked-by: Ian Rogers <irogers@google.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexandre Ghiti <alexghiti@rivosinc.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: Benjamin Gray <bgray@linux.ibm.com >
Cc: Ben Zong-You Xie <ben717@andestech.com >
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: Clément Le Goffic <clement.legoffic@foss.st.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Masami Hiramatsu <mhiramat@kernel.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Sandipan Das <sandipan.das@amd.com >
Cc: Will Deacon <will@kernel.org >
Cc: Yicong Yang <yangyicong@hisilicon.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20241107162035.52206-2-irogers@google.com
Signed-off-by: Ian Rogers <irogers@google.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2024-11-16 16:34:15 -03:00
Xu Yang
e3b2949e3f
perf vendor events arm64: Add i.MX91 DDR Performance Monitor metrics
...
Add JSON metrics for i.MX91 DDR Performance Monitor.
Signed-off-by: Xu Yang <xu.yang_2@nxp.com >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Cc: festevam@gmail.com
Cc: conor+dt@kernel.org
Cc: krzk+dt@kernel.org
Cc: robh@kernel.org
Cc: shawnguo@kernel.org
Cc: will@kernel.org
Cc: james.clark@linaro.org
Cc: mike.leach@linaro.org
Cc: leo.yan@linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: imx@lists.linux.dev
Cc: Frank.li@nxp.com
Cc: john.g.garry@oracle.com
Cc: kernel@pengutronix.de
Cc: s.hauer@pengutronix.de
Cc: devicetree@vger.kernel.org
Link: https://lore.kernel.org/r/20240924061251.3387850-3-xu.yang_2@nxp.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-10-28 09:37:02 -07:00
Sandipan Das
46610ba41e
perf vendor events amd: Update Zen 5 data cache fill events
...
For events that count data cache fills, some combinations of the unit
mask bits are useful for counting fills from local caches, DRAM or any
far sources. However, named events currently exist for PMCx044 (Any Data
Cache Fills) only. Add similar events for the following base events.
* PMCx043 (Demand Data Cache Fills)
* PMCx059 (Software Prefetch Data Cache Fills)
* PMCx05A (Hardware Prefetch Data Cache Fills)
While at it, remove "ls_any_fills_from_sys.all_dram_io" since it is a
duplicate of "ls_any_fills_from_sys.dram_io_all".
Event descriptions can be found in Section 2.1.16.5.2 "Load/Store (LS)
Events" of the Processor Programming Reference (PPR) for AMD Family 1Ah
Model 02h Revision C1 Processors document available at the link below.
Link: https://bugzilla.kernel.org/attachment.cgi?id=307010
Signed-off-by: Sandipan Das <sandipan.das@amd.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Cc: ananth.narayan@amd.com
Cc: ravi.bangoria@amd.com
Cc: eranian@google.com
Link: https://lore.kernel.org/r/e036e3c9fb962c939fa06c855b68e532ee609e01.1729242778.git.sandipan.das@amd.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-10-19 09:41:51 -07:00
Sandipan Das
17aedce6e0
perf vendor events amd: Add Zen 5 data fabric metrics
...
Add data fabric metrics taken from Section 2.1.16.2 "Performance
Measurement" in the Processor Programming Reference (PPR) for AMD Family
1Ah Model 02h Revision C1 Processors document available at the link
below.
The recommended metrics are sourced from Table 28 "Guidance for Common
Performance Statistics with Complex Event Selects". They capture data
bandwidth for various links and interfaces in the data fabric.
Link: https://bugzilla.kernel.org/attachment.cgi?id=307010
Signed-off-by: Sandipan Das <sandipan.das@amd.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Cc: ananth.narayan@amd.com
Cc: ravi.bangoria@amd.com
Cc: eranian@google.com
Link: https://lore.kernel.org/r/e8757bb9f511907a52bc182de9395c5edec2fccf.1729242778.git.sandipan.das@amd.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-10-19 09:41:51 -07:00
Sandipan Das
f101a8e345
perf vendor events amd: Add Zen 5 data fabric events
...
Add data fabric events taken from Section 2.1.16.2 "Performance
Measurement" in the Processor Programming Reference (PPR) for AMD Family
1Ah Model 02h Revision C1 Processors document available at the link
below.
This constitutes events which capture the flow of data beats at various
links and interfaces in the data fabric.
Link: https://bugzilla.kernel.org/attachment.cgi?id=307010
Signed-off-by: Sandipan Das <sandipan.das@amd.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Cc: ananth.narayan@amd.com
Cc: ravi.bangoria@amd.com
Cc: eranian@google.com
Link: https://lore.kernel.org/r/198049e27366f3980e4991b95cec5eaac6d31d75.1729242778.git.sandipan.das@amd.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-10-19 09:41:51 -07:00