Ian Rogers
bb327140f5
perf parse-events: Switch tracepoints to io_dir__readdir
...
Avoid DIR allocations when scanning sysfs by using io_dir for the
readdir implementation, that allocates about 1kb on the stack.
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250222061015.303622-7-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-24 15:46:33 -08:00
Ian Rogers
56406bd557
perf events: Remove scandir in thread synthesis
...
This avoids scanddir reading the directory into memory that's
allocated and instead allocates on the stack.
Acked-by: Namhyung Kim <namhyung@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Song Liu <song@kernel.org >
Link: https://lore.kernel.org/r/20250222061015.303622-6-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-24 15:46:33 -08:00
Ian Rogers
d6cd7c9f02
perf header: Switch mem topology to io_dir__readdir
...
Switch memory_node__read and build_mem_topology from opendir/readdir
to io_dir__readdir, with smaller stack allocations. Reduces peak
memory consumption of perf record by 10kb.
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250222061015.303622-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-24 15:46:33 -08:00
Ian Rogers
6a81a3fd9e
perf pmu: Switch to io_dir__readdir
...
Avoid DIR allocations when scanning sysfs by using io_dir for the
readdir implementation, that allocates about 1kb on the stack.
Acked-by: Namhyung Kim <namhyung@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250222061015.303622-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-24 15:46:33 -08:00
Ian Rogers
f7cada5f7e
perf maps: Switch modules tree walk to io_dir__readdir
...
Compared to glibc's opendir/readdir this lowers the max RSS of perf
record by 1.8MB on a Debian machine.
Acked-by: Namhyung Kim <namhyung@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250222061015.303622-3-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-24 15:46:33 -08:00
Ian Rogers
d118b08f7e
tools lib api: Add io_dir an allocation free readdir alternative
...
glibc's opendir allocates a minimum of 32kb, when called recursively
for a directory tree the memory consumption can add up - nearly 300kb
during perf start-up when processing modules. Add a stack allocated
variant of readdir sized a little more than 1kb.
As getdents64 may be missing from libc, add support using syscall. As
the system call number maybe missing, add #defines for those.
Note, an earlier version of this patch had a feature test for
getdents64 but there were problems on certains distros where
getdents64 would be #define renamed to getdents breaking the code. The
syscall use was made uncondtional to work around this. There is
context in:
https://lore.kernel.org/lkml/20231207050433.1426834-1-irogers@google.com/
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250222061015.303622-2-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-24 15:46:33 -08:00
Ian Rogers
7e05269ba8
perf parse-events: Tidy name token matching
...
Prior to commit 70c90e4a6b ("perf parse-events: Avoid scanning PMUs
before parsing") names (generally event names) excluded hyphen (minus)
symbols as the formation of legacy names with hyphens was handled in
the yacc code. That commit allowed hyphens supposedly making
name_minus unnecessary. However, changing name_minus to name has
issues in the term config tokens as then name ends up having priority
over numbers and name allows matching numbers since commit
5ceb57990b ("perf parse: Allow tracepoint names to start with digits
"). It is also permissable for a name to match with a colon (':') in
it when its in a config term list. To address this rename name_minus
to term_name, make the pattern match name's except for the colon, add
number matching into the config term region with a higher priority
than name matching. This addresses an inconsistency and allows greater
matching for names inside of term lists, for example, they may start
with a number.
Rename name_tag to quoted_name and update comments and helper
functions to avoid str detecting quoted strings which was already done
by the lexer.
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250109175401.161340-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-20 22:35:10 -08:00
Krzysztof Łopatowski
4bac7fb586
perf tools: Improve startup time by reducing unnecessary stat() calls
...
When testing perf trace on NixOS, I noticed significant startup delays:
- `ls`: ~2ms
- `strace ls`: ~10ms
- `perf trace ls`: ~550ms
Profiling showed that 51% of the time is spent reading files,
26% in loading BPF programs, and 11% in `newfstatat`.
This patch optimizes module path exploration by avoiding `stat()` calls
unless necessary. For filesystems that do not implement `d_type`
(DT_UNKNOWN), it falls back to the old behavior.
See `readdir(3)` for details.
This reduces `perf trace ls` time to ~500ms.
A more thorough startup optimization based on command parameters would
be ideal, but that is a larger effort.
Signed-off-by: Krzysztof Łopatowski <krzysztof.m.lopatowski@gmail.com >
Acked-by: Howard Chu <howardchu95@gmail.com >
Link: https://lore.kernel.org/r/20250206113314.335376-2-krzysztof.m.lopatowski@gmail.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-19 13:55:59 -08:00
Dmitry Vyukov
6353255e7c
perf report: Fix input reload/switch with symbol sort key
...
Currently the code checks that there is no "ipc" in the sort order
and add an ipc string. This will always error out on the second pass
after input reload/switch, since the sort order already contains "ipc".
Do the ipc check/fixup only on the first pass.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Link: https://lore.kernel.org/r/20250108063628.215577-1-dvyukov@google.com
Fixes: ec6ae74fe8 ("perf report: Display average IPC and IPC coverage per symbol")
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-19 13:27:59 -08:00
Namhyung Kim
acda4c2001
perf report: Support switching data w/ and w/o callchains
...
The symbol_conf.use_callchain should be reset when switching to new data
file, otherwise report__setup_sample_type() will show an error message
that it enabled callchains but no callchain data. The function also
will turn on the callchains if the data has PERF_SAMPLE_CALLCHAIN so I
think it's ok to reset symbol_conf.use_callchain here.
Link: https://lore.kernel.org/r/20250211060745.294289-2-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-19 13:23:58 -08:00
Namhyung Kim
43c2b6139b
perf report: Switch data file correctly in TUI
...
The 's' key is to switch to a new data file and load the data in the
same window. The switch_data_file() will show a popup menu to select
which data file user wants and update the 'input_name' global variable.
But in the cmd_report(), it didn't update the data.path using the new
'input_name' and keep usng the old file. This is fairly an old bug and
I assume people don't use this feature much. :)
Link: https://lore.kernel.org/r/20250211060745.294289-1-namhyung@kernel.org
Closes: https://lore.kernel.org/linux-perf-users/89e678bc-f0af-4929-a8a6-a2666f1294a4@linaro.org
Fixes: f5fc14124c ("perf tools: Add data object to handle perf data file")
Reported-by: James Clark <james.clark@linaro.org >
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-19 13:23:58 -08:00
Greg Kroah-Hartman
0cced76a02
perf tools: Fix up some comments and code to properly use the event_source bus
...
In sysfs, the perf events are all located in
/sys/bus/event_source/devices/ but some places ended up hard-coding the
location to be at the root of /sys/devices/ which could be very risky as
you do not exactly know what type of device you are accessing in sysfs
at that location.
So fix this all up by properly pointing everything at the bus device
list instead of the root of the sysfs devices/ tree.
Cc: stable <stable@kernel.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Reviewed-by: Kan Liang <kan.liang@linux.intel.com >
Link: https://lore.kernel.org/r/2025021955-implant-excavator-179d@gregkh
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-19 13:23:43 -08:00
James Clark
687b8c3938
perf list: Also append PMU name in verbose mode
...
When listing in verbose mode, the long description is used but the PMU
name isn't appended. There doesn't seem to be a reason to exclude it
when asking for more information, so use the same print block for both
long and short descriptions.
Before:
$ perf list -v
...
inst_retired
[Instruction architecturally executed]
After:
$ perf list -v
...
inst_retired
[Instruction architecturally executed. Unit: armv8_cortex_a57]
Signed-off-by: James Clark <james.clark@linaro.org >
Reviewed-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250219151622.1097289-1-james.clark@linaro.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-19 13:23:43 -08: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
Namhyung Kim
29bab85418
perf script: Fix hangup in offline flamegraph report
...
A recent change in the flamegraph script fixed an issue with live mode
but it created another for offline mode. It needs to pass "-" to -i
option to read from stdin in the live mode. Actually there's a logic
to pass the option in the perf script code, but the script was written
with "-- $@" which prevented the option to go to the perf script. So
the previous commit added the hard-coded "-i -" to the report command.
But it's a problem for the offline mode which expects input from a file
and now it's stuck on reading from stdin. Let's remove the "-i - --"
part and let it pass the options properly to perf script.
Closes: https://lore.kernel.org/linux-perf-users/c41e4b04-e1fd-45ab-80b0-ec2ac6e94310@linux.ibm.com
Fixes: 23e0a63c6d ("perf script: force stdin for flamegraph in live mode")
Reported-by: Thomas Richter <tmricht@linux.ibm.com >
Tested-by: Thomas Richter <tmricht@linux.ibm.com >
Cc: Anubhav Shelat <ashelat@redhat.com >
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 16:12:19 -08:00
Dmitry Vyukov
5e838165d0
perf hist: Shrink struct hist_entry size
...
Reorder the struct fields by size to reduce paddings and reduce
struct simd_flags size from 8 to 1 byte.
This reduces struct hist_entry size by 8 bytes (592->584),
and leaves a single more usable 6 byte padding hole.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/7c1cb1c8f9901e945162701ba7269d0f9c70be89.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 14:04:32 -08:00
Dmitry Vyukov
257facfaf5
perf test: Add tests for latency and parallelism profiling
...
Ensure basic operation of latency/parallelism profiling and that
main latency/parallelism record/report invocations don't fail/crash.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/c129c8f02f328f68e1e9ef2cdc582f8a9786a97d.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 14:04:32 -08:00
Dmitry Vyukov
32ecca8d7a
perf report: Add latency and parallelism profiling documentation
...
Describe latency and parallelism profiling, related flags, and differences
with the currently only supported CPU-consumption-centric profiling.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/a13f270ed33cedb03ce9ebf9ddbd064854ca0f19.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 14:04:32 -08:00
Dmitry Vyukov
2570c02c3a
perf report: Add --latency flag
...
Add record/report --latency flag that allows to capture and show
latency-centric profiles rather than the default CPU-consumption-centric
profiles. For latency profiles record captures context switch events,
and report shows Latency as the first column.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/e9640464bcbc47dde2cb557003f421052ebc9eec.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 14:04:32 -08:00
Dmitry Vyukov
ee1cffbe24
perf report: Add latency output field
...
Latency output field is similar to overhead, but represents overhead for
latency rather than CPU consumption. It's re-scaled from overhead by dividing
weight by the current parallelism level at the time of the sample.
It effectively models profiling with 1 sample taken per unit of wall-clock
time rather than unit of CPU time.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/b6269518758c2166e6ffdc2f0e24cfdecc8ef9c1.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 14:04:32 -08:00
Dmitry Vyukov
61b6b31c2f
perf report: Add parallelism filter
...
Add parallelism filter that can be used to look at specific parallelism
levels only. The format is the same as cpu lists. For example:
Only single-threaded samples: --parallelism=1
Low parallelism only: --parallelism=1-4
High parallelism only: --parallelism=64-128
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/e61348985ff0a6a14b07c39e880edbd60a8f8635.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 14:04:32 -08:00
Dmitry Vyukov
216f8a970c
perf report: Switch filtered from u8 to u16
...
We already have all u8 bits taken, adding one more filter leads to unpleasant
failure mode, where code compiles w/o warnings, but the last filters silently
don't work. Add a typedef and switch to u16.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/32b4ce1731126c88a2d9e191dc87e39ae4651cb7.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-18 14:04:31 -08:00
Dmitry Vyukov
7ae1972e74
perf report: Add parallelism sort key
...
Show parallelism level in profiles if requested by user.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/7f7bb87cbaa51bf1fb008a0d68b687423ce4bad4.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-17 22:00:50 -08:00
Dmitry Vyukov
f13bc61b2e
perf report: Add machine parallelism
...
Add calculation of the current parallelism level (number of threads actively
running on CPUs). The parallelism level can be shown in reports on its own,
and to calculate latency overheads.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Andi Kleen <ak@linux.intel.com >
Link: https://lore.kernel.org/r/0f8c1b8eb12619029e31b3d5c0346f4616a5aeda.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-17 22:00:50 -08:00
Namhyung Kim
20600b8aab
perf tools: Fix compile error on sample->user_regs
...
It's recently changed to allocate dynamically but misses to update some
arch-dependent codes to use perf_sample__user_regs().
Fixes: dc6d2bc2d8 ("perf sample: Make user_regs and intr_regs optional")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au >
Reviewed-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250214191641.756664-1-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-14 12:33:41 -08:00
Leo Yan
d18c882f85
perf tools: Fix compilation error on arm64
...
Since the commit dc6d2bc2d8 ("perf sample: Make user_regs and
intr_regs optional"), the building for Arm64 reports error:
arch/arm64/util/unwind-libdw.c: In function ‘libdw__arch_set_initial_registers’:
arch/arm64/util/unwind-libdw.c:11:32: error: initialization of ‘struct regs_dump *’ from incompatible pointer type ‘struct regs_dump **’ [-Werror=incompatible-pointer-types]
11 | struct regs_dump *user_regs = &ui->sample->user_regs;
| ^
cc1: all warnings being treated as errors
make[6]: *** [/home/niayan01/linux/tools/build/Makefile.build:85: arch/arm64/util/unwind-libdw.o] Error 1
make[5]: *** [/home/niayan01/linux/tools/build/Makefile.build:138: util] Error 2
arch/arm64/tests/dwarf-unwind.c: In function ‘test__arch_unwind_sample’:
arch/arm64/tests/dwarf-unwind.c:48:27: error: initialization of ‘struct regs_dump *’ from incompatible pointer type ‘struct regs_dump **’ [-Werror=incompatible-pointer-types]
48 | struct regs_dump *regs = &sample->user_regs;
| ^
To fix the issue, use the helper perf_sample__user_regs() to retrieve
the user_regs.
Fixes: dc6d2bc2d8 ("perf sample: Make user_regs and intr_regs optional")
Signed-off-by: Leo Yan <leo.yan@arm.com >
Reviewed-by: James Clark <james.clark@linaro.org >
Link: https://lore.kernel.org/r/20250214111025.14478-1-leo.yan@arm.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-14 11:12:12 -08:00
Ian Rogers
7c1e94f5dc
tools build: Fix a number of Wconversion warnings
...
There's some expressed interest in having the compiler flag
-Wconversion detect at build time certain kinds of potential problems:
https://lore.kernel.org/lkml/20250103182532.GB781381@e132581.arm.com/
As feature detection passes -Wconversion from CFLAGS when set, the
feature detection compile tests need to not fail because of
-Wconversion as the failure will be interpretted as a missing
feature. Switch various types to avoid the -Wconversion issue, the
exact meaning of the code is unimportant as it is typically looking
for header file definitions.
Signed-off-by: Ian Rogers <irogers@google.com >
Reviewed-by: James Clark <james.clark@linaro.org >
Link: https://lore.kernel.org/r/20250106215443.198633-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 20:23:05 -08:00
Ian Rogers
dc6d2bc2d8
perf sample: Make user_regs and intr_regs optional
...
The struct dump_regs contains 512 bytes of cache_regs, meaning the two
values in perf_sample contribute 1088 bytes of its total 1384 bytes
size. Initializing this much memory has a cost reported by Tavian
Barnes <tavianator@tavianator.com > as about 2.5% when running `perf
script --itrace=i0`:
https://lore.kernel.org/lkml/d841b97b3ad2ca8bcab07e4293375fb7c32dfce7.1736618095.git.tavianator@tavianator.com/
Adrian Hunter <adrian.hunter@intel.com > replied that the zero
initialization was necessary and couldn't simply be removed.
This patch aims to strike a middle ground of still zeroing the
perf_sample, but removing 79% of its size by make user_regs and
intr_regs optional pointers to zalloc-ed memory. To support the
allocation accessors are created for user_regs and intr_regs. To
support correct cleanup perf_sample__init and perf_sample__exit
functions are created and added throughout the code base.
Signed-off-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20250113194345.1537821-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 20:06:11 -08:00
Ian Rogers
08d9e88348
perf test stat_all_metrics: Ensure missing events fail test
...
Issue reported by Thomas Falcon and diagnosed by Kan Liang here:
https://lore.kernel.org/lkml/d44036481022c27d83ce0faf8c7f77042baedb34.camel@intel.com/
Metrics with missing events can be erroneously skipped if they contain
FP, AMX or PMM events.
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-25-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-02-12 19:54:40 -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