lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <mhng-021d3023-ba14-4d68-a89c-a9358b7c6a86@palmer-ri-x1c9>
Date:   Fri, 08 Sep 2023 07:57:18 -0700 (PDT)
From:   Palmer Dabbelt <palmer@...osinc.com>
To:     acme@...nel.org
CC:     Linus Torvalds <torvalds@...ux-foundation.org>, mingo@...nel.org,
        tglx@...utronix.de, jolsa@...nel.org, namhyung@...nel.org,
        irogers@...gle.com, adrian.hunter@...el.com, williams@...hat.com,
        kcarcia@...hat.com, linux-kernel@...r.kernel.org,
        linux-perf-users@...r.kernel.org, acme@...nel.org,
        adityag@...ux.ibm.com, akanksha@...ux.ibm.com,
        anupnewsmail@...il.com, atrajeev@...ux.vnet.ibm.com,
        james.clark@....com, renyu.zj@...ux.alibaba.com,
        john.g.garry@...cle.com, kjain@...ux.ibm.com, luhongfei@...o.com,
        mhiramat@...nel.org, tmricht@...ux.ibm.com, xiujianfeng@...wei.com,
        alexghiti@...osinc.com, acme@...hat.com
Subject:     Re: [GIT PULL] perf tools changes for v6.6

On Tue, 05 Sep 2023 17:53:30 PDT (-0700), acme@...nel.org wrote:
> Hi Linus,
>
> 	Two enablement patches for RiscV are already in your tree, same
> content, as reported by Stephen (linux-next), I cherry-picked them at
> some point, probably the Risc-V guy didn't notice my "applied" message.

Sorry again about that, I'd had some email brekages and missed a few 
things.  LMK if there's anything I can do to help sort it out.

>
> 	Please consider pulling,
>
> Best regards,
>
> - Arnaldo
>
>
> The following changes since commit 374a7f47bf401441edff0a64465e61326bf70a82:
>
>   Merge tag '6.5-rc5-ksmbd-server' of git://git.samba.org/ksmbd (2023-08-09 21:12:56 -0700)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git tags/perf-tools-for-v6.6-1-2023-09-05
>
> for you to fetch changes up to 45fc4628c15ab2cb7b2f53354b21db63f0a41f81:
>
>   perf parse-events: Fix driver config term (2023-09-05 09:39:13 -0300)
>
> ----------------------------------------------------------------
> perf tools changes for v6.6:
>
> perf tools maintainership:
>
> - Add git information for perf-tools and perf-tools-next trees/branches to the
>   MAINTAINERS file. That is where development now takes place and myself and
>   Namhyung Kim have write access, more people to come as we emulate other
>   maintainer groups.
>
> perf record:
>
> - Record kernel data maps when 'perf record --data' is used, so that global variables can
>   be resolved and used in tools that do data profiling.
>
> perf trace:
>
> - Remove the old, experimental support for BPF events in which a .c file was passed as
>   an event: "perf trace -e hello.c" to then get compiled and loaded.
>
>   The only known usage for that, that shipped with the kernel as an example for such events,
>   augmented the raw_syscalls tracepoints and was converted to a libbpf skeleton, reusing all
>   the user space components and the BPF code connected to the syscalls.
>
>   In the end just the way to glue the BPF part and the user space type beautifiers changed,
>   now being performed by libbpf skeletons.
>
>   The next step is to use BTF to do pretty printing of all syscall types, as discussed with
>   Alan Maguire and others.
>
>   Now, on a perf built with BUILD_BPF_SKEL=1 we get most if not all path/filenames/strings,
>   some of the networking data structures, perf_event_attr, etc, i.e. systemwide tracing of
>   nanosleep calls and perf_event_open syscalls while 'perf stat' runs 'sleep' for 5 seconds:
>
>   # perf trace -a -e *nanosleep,perf* perf stat -e cycles,instructions sleep 5
>      0.000 (   9.034 ms): perf/327641 perf_event_open(attr_uptr: { type: 0 (PERF_TYPE_HARDWARE), size: 136, config: 0 (PERF_COUNT_HW_CPU_CYCLES), sample_type: IDENTIFIER, read_format: TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING, disabled: 1, inherit: 1, enable_on_exec: 1, exclude_guest: 1 }, pid: 327642 (perf), cpu: -1, group_fd: -1, flags: FD_CLOEXEC) = 3
>      9.039 (   0.006 ms): perf/327641 perf_event_open(attr_uptr: { type: 0 (PERF_TYPE_HARDWARE), size: 136, config: 0x1 (PERF_COUNT_HW_INSTRUCTIONS), sample_type: IDENTIFIER, read_format: TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING, disabled: 1, inherit: 1, enable_on_exec: 1, exclude_guest: 1 }, pid: 327642 (perf-exec), cpu: -1, group_fd: -1, flags: FD_CLOEXEC) = 4
>          ? (           ): gpm/991  ... [continued]: clock_nanosleep())               = 0
>     10.133 (           ): sleep/327642 clock_nanosleep(rqtp: { .tv_sec: 5, .tv_nsec: 0 }, rmtp: 0x7ffd36f83ed0) ...
>          ? (           ): pool-gsd-smart/3051  ... [continued]: clock_nanosleep())   = 0
>     30.276 (           ): gpm/991 clock_nanosleep(rqtp: { .tv_sec: 2, .tv_nsec: 0 }, rmtp: 0x7ffcc6f73710) ...
>    223.215 (1000.430 ms): pool-gsd-smart/3051 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f6e7fffec90) = 0
>     30.276 (2000.394 ms): gpm/991  ... [continued]: clock_nanosleep())               = 0
>   1230.814 (           ): pool-gsd-smart/3051 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f6e7fffec90) ...
>   1230.814 (1000.404 ms): pool-gsd-smart/3051  ... [continued]: clock_nanosleep())   = 0
>   2030.886 (           ): gpm/991 clock_nanosleep(rqtp: { .tv_sec: 2, .tv_nsec: 0 }, rmtp: 0x7ffcc6f73710) ...
>   2237.709 (1000.153 ms): pool-gsd-smart/3051 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f6e7fffec90) = 0
>          ? (           ): crond/1172  ... [continued]: clock_nanosleep())            = 0
>   3242.699 (           ): pool-gsd-smart/3051 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f6e7fffec90) ...
>   2030.886 (2000.385 ms): gpm/991  ... [continued]: clock_nanosleep())               = 0
>   3728.078 (           ): crond/1172 clock_nanosleep(rqtp: { .tv_sec: 60, .tv_nsec: 0 }, rmtp: 0x7ffe0971dcf0) ...
>   3242.699 (1000.158 ms): pool-gsd-smart/3051  ... [continued]: clock_nanosleep())   = 0
>   4031.409 (           ): gpm/991 clock_nanosleep(rqtp: { .tv_sec: 2, .tv_nsec: 0 }, rmtp: 0x7ffcc6f73710) ...
>     10.133 (5000.375 ms): sleep/327642  ... [continued]: clock_nanosleep())          = 0
>
>  Performance counter stats for 'sleep 5':
>
>          2,617,347      cycles
>          1,855,997      instructions                     #    0.71  insn per cycle
>
>        5.002282128 seconds time elapsed
>
>        0.000855000 seconds user
>        0.000852000 seconds sys
>   #
>
> perf annotate:
>
> - Building with binutils' libopcode now is opt-in (BUILD_NONDISTRO=1) for
>   licensing reasons, and we missed a build test on tools/perf/tests makefile.
>
>   Since we now default to NDEBUG=1, we ended up segfaulting when building with
>   BUILD_NONDISTRO=1 because a needed initialization routine was being "error
>   checked" via an assert.
>
>   Fix it by explicitly checking the result and aborting instead if it fails.
>
>   We better back propagate the error, but at least 'perf annotate' on samples
>   collected for a BPF program is back working when perf is built with
>   BUILD_NONDISTRO=1.
>
> perf report/top:
>
> - Add back TUI hierarchy mode header, that is seen when using 'perf report/top --hierarchy'.
>
> - Fix the number of entries for 'e' key in the TUI that was preventing navigation of
>   lines when expanding an entry.
>
> perf report/script:
>
> - Support cross platform register handling, allowing a perf.data file collected
>   on one architecture to have registers sampled correctly displayed when
>   analysis tools such as 'perf report' and 'perf script' are used on a different
>   architecture.
>
> - Fix handling of event attributes in pipe mode, i.e. when one uses:
>
> 	perf record -o - | perf report -i -
>
>   When no perf.data files are used.
>
> - Handle files generated via pipe mode with a version of perf and then read
>   also via pipe mode with a different version of perf, where the event attr
>   record may have changed, use the record size field to properly support this
>   version mismatch.
>
> perf probe:
>
> - Accessing global variables from uprobes isn't supported, make the error
>   message state that instead of stating that some minimal kernel version is
>   needed to have that feature. This seems just a tool limitation, the kernel
>   probably has all that is needed.
>
> perf tests:
>
> - Fix a reference count related leak in the dlfilter v0 API where the result
>   of a thread__find_symbol_fb() is not matched with an addr_location__exit()
>   to drop the reference counts of the resolved components (machine, thread, map,
>   symbol, etc). Add a dlfilter test to make sure that doesn't regresses.
>
> - Lots of fixes for the 'perf test' written in shell script related to problems
>   found with the shellcheck utility.
>
> - Fixes for 'perf test' shell scripts testing features enabled when perf is
>   built with BUILD_BPF_SKEL=1, such as 'perf stat' bpf counters.
>
> - Add perf record sample filtering test, things like the following example, that gets
>   implemented as a BPF filter attached to the event:
>
>    # perf record -e task-clock -c 10000 --filter 'ip < 0xffffffff00000000'
>
> - Improve the way the task_analyzer test checks if libtraceevent is linked,
>   using 'perf version --build-options' instead of the more expensinve
>   'perf record -e "sched:sched_switch"'.
>
> - Add support for riscv in the mmap-basic test. (This went as well via the RiscV tree, same contents).
>
> libperf:
>
> - Implement riscv mmap support (This went as well via the RiscV tree, same contents).
>
> perf script:
>
> - New tool that converts perf.data files to the firefox profiler format so that one can use
>   the visualizer at https://profiler.firefox.com/. Done by Anup Sharma as part of this year's
>   Google Summer of Code.
>
>   One can generate the output and upload it to the web interface but Anup also automated
>   everything:
>
>      perf script gecko -F 99 -a sleep 60
>
> - Support syscall name parsing on arm64.
>
> - Print "cgroup" field on the same line as "comm".
>
> perf bench:
>
> - Add new 'uprobe' benchmark to measure the overhead of uprobes with/without
>   BPF programs attached to it.
>
> - breakpoints are not available on power9, skip that test.
>
> perf stat:
>
> - Add #num_cpus_online literal to be used in 'perf stat' metrics, and add this extra
>   'perf test' check that exemplifies its purpose:
>
> 	TEST_ASSERT_VAL("#num_cpus_online",
>                        expr__parse(&num_cpus_online, ctx, "#num_cpus_online") == 0);
> 	TEST_ASSERT_VAL("#num_cpus", expr__parse(&num_cpus, ctx, "#num_cpus") == 0);
> 	TEST_ASSERT_VAL("#num_cpus >= #num_cpus_online", num_cpus >= num_cpus_online);
>
> Miscellaneous:
>
> - Improve tool startup time by lazily reading PMU, JSON, sysfs data.
>
> - Improve error reporting in the parsing of events, passing YYLTYPE to error routines,
>   so that the output can show were the parsing error was found.
>
> - Add 'perf test' entries to check the parsing of events improvements.
>
> - Fix various leak for things detected by -fsanitize=address, mostly things that would
>   be freed at tool exit, including:
>
>   - Free evsel->filter on the destructor.
>
>   - Allow tools to register a thread->priv destructor and use it in 'perf trace'.
>
>   - Free evsel->priv in 'perf trace'.
>
>   - Free string returned by synthesize_perf_probe_point() when the caller fails
>     to do all it needs.
>
> - Adjust various compiler options to not consider errors some warnings when
>   building with broken headers found in things like python, flex, bison, as we
>   otherwise build with -Werror. Some for gcc, some for clang, some for some
>   specific version of those, some for some specific version of flex or bison, or
>   some specific combination of these components, bah.
>
> - Allow customization of clang options for BPF target, this helps building on
>   gentoo where there are other oddities where BPF targets gets passed some compiler
>   options intended for the native build, so building with WERROR=0 helps while
>   these oddities are fixed.
>
> - Dont pass ERR_PTR() values to perf_session__delete() in 'perf top' and 'perf lock',
>   fixing some segfaults when handling some odd failures.
>
> - Add LTO build option.
>
> - Fix format of unordered lists in the perf docs (tools/perf/Documentation).
>
> - Overhaul the bison files, using constructs such as YYNOMEM.
>
> - Remove unused tokens from the bison .y files.
>
> - Add more comments to various structs.
>
> - A few LoongArch enablement patches.
>
> Vendor events (JSON):
>
> - Add JSON metrics for Yitian 710 DDR (aarch64). Things like:
>
> 	EventName, BriefDescription
> 	visible_window_limit_reached_rd, "At least one entry in read queue reaches the visible window limit.",
> 	visible_window_limit_reached_wr, "At least one entry in write queue reaches the visible window limit.",
> 	op_is_dqsosc_mpc	       , "A DQS Oscillator MPC command to DRAM.",
> 	op_is_dqsosc_mrr	       , "A DQS Oscillator MRR command to DRAM.",
> 	op_is_tcr_mrr		       , "A Temperature Compensated Refresh(TCR) MRR command to DRAM.",
>
> - Add AmpereOne metrics (aarch64).
>
> - Update N2 and V2 metrics (aarch64) and events using Arm telemetry repo.
>
> - Update scale units and descriptions of common topdown metrics on aarch64. Things like:
>
>   - "MetricExpr": "stall_slot_frontend / (#slots * cpu_cycles)",
>   - "BriefDescription": "Frontend bound L1 topdown metric",
>   + "MetricExpr": "100 * (stall_slot_frontend / (#slots * cpu_cycles))",
>   + "BriefDescription": "This metric is the percentage of total slots that were stalled due to resource constraints in the frontend of the processor.",
>
> - Update events for intel: meteorlake to 1.04, sapphirerapids to 1.15, Icelake+ metric constraints.
>
> - Update files for the power10 platform.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
>
> ----------------------------------------------------------------
> Aditya Gupta (1):
>       perf tests task_analyzer: Check perf build options for libtraceevent support
>
> Adrian Hunter (3):
>       perf dlfilter: Add a test for resolve_address()
>       perf dlfilter: Add al_cleanup()
>       perf dlfilter: Avoid leak in v0 API test use of resolve_address()
>
> Akanksha J N (1):
>       perf tests trace+probe_vfs_getname: Fix shellcheck warnings about word splitting/quoting
>
> Alexandre Ghiti (2):
>       libperf: Implement riscv mmap support
>       perf tests mmap-basic: Adapt for riscv
>
> Anup Sharma (9):
>       perf scripts python: Add initial script file with usage information
>       perf scripts python: Extact necessary information from process event
>       perf scripts python: Add classes and conversion functions
>       perf scripts python: Add trace end processing and PRODUCT and CATEGORIES information
>       perf scripts python: Implement add sample function and thread processing
>       perf scripts python: Implement add sample function and thread processing
>       perf scripts python: Add command execution for gecko script
>       perf scripts python: Add support for input args in gecko script
>       perf scripts python gecko: Launch the profiler UI on the default browser with the appropriate URL
>
> Arnaldo Carvalho de Melo (34):
>       perf evsel: Free evsel->filter on the destructor
>       perf thread: Allow tools to register a thread->priv destructor
>       perf trace: Register a thread priv destructor
>       perf trace: Really free the evsel->priv area
>       perf trace: Free thread_trace->files table
>       MAINTAINERS: Add git information for perf-tools and perf-tools-next trees/branches
>       perf bench uprobe: Add benchmark to test uprobe overhead
>       perf bench uprobe: Print diff to baseline
>       perf bench uprobe: Show diff to previous
>       perf bench uprobe empty: Add entry attaching an empty BPF program
>       perf bench uprobe trace_printk: Add entry attaching an BPF program that does a trace_printk
>       perf build: Define YYNOMEM as YYNOABORT for bison < 3.81
>       tools build: Add 3-component logical version comparators
>       perf test bpf: Address error about non-null argument for epoll_pwait 2nd arg
>       perf python: Cope with declarations after statements found in Python.h
>       perf script python: Cope with declarations after statements found in Python.h
>       perf annotate bpf: Don't enclose non-debug code with an assert()
>       Merge remote-tracking branch 'torvalds/master' into perf-tools-next
>       perf probe: Free string returned by synthesize_perf_probe_point() on failure to add a probe
>       perf probe: Free string returned by synthesize_perf_probe_point() on failure in synthesize_perf_probe_command()
>       perf probe: Make synthesize_perf_probe_point() private to probe-event.c
>       Merge remote-tracking branch 'torvalds/master' into perf-tools-next
>       perf build: Remove -Wno-unused-but-set-variable from the flex flags when building with clang < 13.0.0
>       perf test trace+probe_vfs_getname.sh: Remove stray \ before /
>       perf tests trace+probe_vfs_getname.sh: Accept quotes surrounding the filename
>       perf dlfilter: Initialize addr_location before passing it to thread__find_symbol_fb()
>       perf bpf_skel augmented_raw_syscalls: Cap the socklen parameter using &= sizeof(saddr)
>       perf top: Don't pass an ERR_PTR() directly to perf_session__delete()
>       perf lock: Don't pass an ERR_PTR() directly to perf_session__delete()
>       perf trace: Use the augmented_raw_syscall BPF skel only for tracing syscalls
>       perf trace: Use heuristic when deciding if a syscall tracepoint "const char *" field is really a string
>       perf bpf augmented_raw_syscalls: Add an assert to make sure sizeof(saddr) is a power of two.
>       perf bpf augmented_raw_syscalls: Add an assert to make sure sizeof(augmented_arg->value) is a power of two.
>       perf lzma: Convert some pr_err() to pr_debug() as callers already use pr_debug()
>
> Athira Rajeev (15):
>       perf tests: Address signal case issues detected via shellcheck
>       perf tests stat+csv_summary: Fix unused variable references detected via shellcheck
>       perf tests perf_dat _converter_json: Use quoting to avoid word splitting
>       perf tests stat_bpf_counters: Fix usage of '==' to address shellcheck warning
>       perf tests stat+shadow_stat: Fix shellcheck warning about unused variable
>       perf tests thread_loop_check_tid_10: Fix shellcheck warnings bout word splitting/quoting
>       perf tests unroll_loop_thread_10: Fix shellcheck warnings about word splitting/quoting
>       perf tests lib probe_vfs_getname: Fix shellcheck warnings about missing shebang/local variables
>       perf tests lib waiting: Fix the shellcheck warnings about missing shebang
>       perf trace x86_arch_prctl: Address shellcheck warnings about local variables
>       perf arch x86: Address shellcheck warnings about unused variables in syscalltbl.sh
>       perf tests record+zstd_comp_decomp: Fix the shellcheck warnings about word splitting/quoting
>       perf tests stat+std_output: Fix shellcheck warnings about word splitting/quoting
>       perf tests stat+std_output: Fix shellcheck warnings about word splitting/quoting and local variables
>       perf symbols: Fix DSO kernel load and symbol process to correctly map DSO to its long_name, type and adjust_symbols
>
> Changbin Du (1):
>       perf docs: Fix format of unordered lists
>
> Guilherme Amadio (1):
>       perf build: Allow customization of clang options for BPF target
>
> Ian Rogers (82):
>       perf stat: Avoid uninitialized use of perf_stat_config
>       perf parse-events: Avoid use uninitialized warning
>       perf test: Avoid weak symbol for arch_tests
>       perf build: Add LTO build option
>       perf parse-events: Remove unused PE_PMU_EVENT_FAKE token
>       perf parse-events: Remove unused PE_KERNEL_PMU_EVENT token
>       perf parse-events: Remove two unused tokens
>       perf parse-events: Add more comments to 'struct parse_events_state'
>       perf parse-events: Avoid regrouped warning for wild card events
>       perf parse-event: Add memory allocation test for name terms
>       perf parse-events: Separate YYABORT and YYNOMEM cases
>       perf parse-events: Move instances of YYABORT to YYNOMEM
>       perf parse-events: Separate ENOMEM memory handling
>       perf parse-events: Additional error reporting
>       perf parse-events: Populate error column for BPF/tracepoint events
>       perf parse-events: Improve location for add pmu
>       perf parse-events: Remove ABORT_ON
>       perf bpf-loader: Remove unneeded diagnostic pragma
>       perf build: Don't always set -funwind-tables and -ggdb3
>       perf build: Add Wextra for C++ compilation
>       perf build: Disable fewer flex warnings
>       perf build: Disable fewer bison warnings
>       perf build: Remove -Wno-redundant-decls in 2 cases
>       perf parse-event: Avoid BPF test SEGV
>       perf tools: Revert enable indices setting syntax for BPF map
>       perf parse-events: Remove array remnants
>       perf parse-events x86: Avoid sorting uops_retired.slots
>       perf vendor events intel: Update meteorlake to 1.04
>       perf vendor events intel: Update sapphirerapids to 1.15
>       perf vendor events intel: Update Icelake+ metric constraints
>       perf script python: Add stub for PMU symbol to the python binding
>       perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c)
>       perf parse-events: Remove BPF event support
>       perf trace: Migrate BPF augmentation to use a skeleton
>       perf bpf examples: With no BPF events remove examples
>       perf trace: Tidy comments related to BPF + syscall augmentation
>       perf script ibs: Remove unused include
>       perf pmu: Avoid a path name copy
>       perf pmu: Move perf_pmu__set_format to pmu.y
>       perf pmu: Reduce scope of perf_pmu_error()
>       perf pmu: Avoid passing format list to perf_pmu__config_terms()
>       perf pmu: Avoid passing format list to perf_pmu__format_type
>       perf pmu: Avoid passing format list to perf_pmu__format_bits()
>       perf pmu: Pass PMU rather than aliases and format
>       perf pmu: Make the loading of formats lazy
>       perf pmu: Abstract alias/event struct
>       perf pmu-events: Add extra underscore to function names
>       perf jevents: Group events by PMU
>       perf parse-events: Improve error message for double setting
>       perf s390 s390_cpumcfdg_dump: Don't scan all PMUs
>       perf pmu-events: Reduce processed events by passing PMU
>       perf pmu-events: Add pmu_events_table__find_event()
>       perf pmu: Parse sysfs events directly from a file
>       perf pmu: Prefer passing pmu to aliases list
>       perf pmu: Merge JSON events with sysfs at load time
>       perf pmu: Cache JSON events table
>       perf pmu: Lazily add JSON events
>       perf pmu: Scan type early to fail an invalid PMU quickly
>       perf pmu: Be lazy about loading event info files from sysfs
>       perf pmu: Lazily load sysfs aliases
>       perf jevents: Sort strings in the big C string to reduce faults
>       perf jevents: Don't append Unit to desc
>       perf header: Fix missing PMU caps
>       perf pmu: Remove logic for PMU name being NULL
>       perf parse-events: Make term's config const
>       perf pmu: Make id const and add missing free
>       perf build-id: Simplify build_id_cache__cachedir()
>       perf tui slang: Tidy casts
>       perf pmus: Sort pmus by name then suffix
>       perf pmus: Skip duplicate PMUs and don't print list suffix by default
>       perf jevents: Use "default_core" for events with no Unit
>       perf pmu: Avoid uninitialized use of alias->str
>       perf parse-events: Minor help message improvements
>       perf parse-events: Make common term list to strbuf helper
>       perf pmu: Remove str from perf_pmu_alias
>       perf metric: Add #num_cpus_online literal
>       perf vendor events intel: Fix modifier in tma_info_system_mem_parallel_reads for skylake
>       perf list: Don't print Unit for "default_core"
>       perf parse-events: Name the two term enums
>       perf parse-events: Fix propagation of term's no_value when cloning
>       perf parse-events: Fixes relating to no_value terms
>       perf parse-events: Fix driver config term
>
> Ilkka Koskinen (4):
>       perf vendor events arm64: Remove L1D_CACHE_LMISS from AmpereOne list
>       perf vendor events arm64: AmpereOne: Mark affected STALL_* events impacted by errata
>       perf vendor events arm64: Add AmpereOne metrics
>       perf vendor events arm64: AmpereOne: Remove unsupported events
>
> Ivan Babrou (1):
>       perf script: Print "cgroup" field on the same line as "comm"
>
> James Clark (8):
>       perf tools: Add a place to put kernel config fragments for test runs
>       perf cs-etm: Don't duplicate FIELD_GET()
>       perf vendor events arm64: Update scale units and descriptions of common topdown metrics
>       perf arm64: Allow version comparisons of CPU IDs
>       perf test: Add a test for the new Arm CPU ID comparison behavior
>       perf jevents: Add a new expression builtin strcmp_cpuid_str()
>       perf vendor events arm64: Update stall_slot workaround for N2 r0p3
>       perf vendor events arm64: Update N2 and V2 metrics and events using Arm telemetry repo
>
> Jing Zhang (3):
>       perf jevents: Add support for Yitian 710 DDR PMU (arm64) aliasing
>       perf vendor events arm64: Add JSON metrics for Yitian 710 DDR
>       perf docs: Update metric usage for Alibaba's T-Head PMU driver (arm64)
>
> John Garry (1):
>       perf jevents: Raise exception for no definition of a arch std event
>
> Kaige Ye (1):
>       perf stat-display: Check if snprintf()'s fmt argument is NULL
>
> Kajol Jain (20):
>       perf tests probe_vfs_getname: Fix shellcheck warnings about word splitting/quoting
>       perf tests record_offcpu: Fix shellcheck warnings about word splitting/quoting and signal names case
>       perf tests lock_contention: Fix shellcheck issue about quoting to avoid word splitting
>       perf test stat_bpf_counters_cgrp: Fix shellcheck issue about logical operators
>       perf tests asm_pure_loop: Fix shellcheck warning about word splitting/quote
>       perf tests memcpy_thread_16k_10: Fix shellcheck warning about word splitting/quote
>       perf tests lib probe: Fix shellcheck warning about about missing shebang
>       perf beauty arch_errno_names: Fix shellcheck issue about local variables
>       perf build: Fix shellcheck issue about quotes for check-headers.sh
>       perf tests coresight thread_loop_check_tid_2: Fix shellcheck warnings about word splitting/quoting
>       perf tests lib stat_output: Fix shellcheck warning about missing shebang
>       perf vendor events: Update the JSON/events descriptions for power10 platform
>       perf vendor events: Drop some of the JSON/events for power10 platform
>       perf vendor events: Drop STORES_PER_INST metric event for power10 platform
>       perf vendor events: Move JSON/events to appropriate files for power10 platform
>       perf vendor events: Update JSON/events for power10 platform
>       perf vendor events: Update metric event names for power10 platform
>       perf vendor events: Update metric events for power10 platform
>       perf bench breakpoint: Skip run if no breakpoints available
>       perf lock contention: Fix typo in max-stack option description
>
> Leo Yan (6):
>       perf parse-regs: Refactor arch register parsing functions
>       perf parse-regs: Introduce functions perf_arch_reg_{ip|sp}()
>       perf unwind: Use perf_arch_reg_{ip|sp}() to substitute macros
>       perf parse-regs: Remove unused macros PERF_REG_{IP|SP}
>       perf parse-regs: Remove PERF_REGS_{MAX|MASK} from common code
>       perf parse-regs: Move out arch specific header from util/perf_regs.h
>
> Lu Hongfei (1):
>       perf diff: Replaces some ',' as separator with the more usual ';'
>
> Masami Hiramatsu (1):
>       perf probe: Show correct error message about @symbol usage for uprobe
>
> Namhyung Kim (15):
>       perf symbols: Add kallsyms__get_symbol_start()
>       perf machine: Include data symbols in the kernel map
>       perf build: Update build rule for generated files
>       perf build: Include generated header files properly
>       perf hists browser: Fix hierarchy mode header
>       perf hists browser: Fix the number of entries for 'e' key
>       perf bpf-filter: Fix sample flag check with ||
>       perf test: Add perf record sample filtering test
>       perf tools: Handle old data in PERF_RECORD_ATTR
>       libperf: Add perf_record_header_attr_id()
>       perf tools: Convert to perf_record_header_attr_id()
>       libperf: Get rid of attr.id field
>       perf test shell record_bpf_filter: Skip 6.2 kernel
>       perf test shell stat_bpf_counters: Fix test on Intel
>       perf test stat_bpf_counters_cgrp: Enhance perf stat cgroup BPF counter test
>
> Thomas Richter (2):
>       perf build: Update feature check for clang and llvm
>       perf build: Support llvm and clang support compiled in
>
> Wei Li (2):
>       perf scripts python: Support syscall name parsing on arm64
>       perf scripts python: Update audit-libs package name for python3
>
> Xiu Jianfeng (1):
>       perf doc: Fix typo in perf.data-file-format.txt
>
> Yang Jihong (1):
>       perf evsel: Remove duplicate check for `field` in evsel__intval()
>
> Yanteng Si (3):
>       perf tools: Allow to use cpuinfo on LoongArch
>       perf beauty mmap_flags: Fix script for archs that use the generic mman.h
>       perf beauty mmap_flags: Use "test -f" instead of "[-f FILE]"
>
>  Documentation/admin-guide/perf/alibaba_pmu.rst     |    5 +
>  MAINTAINERS                                        |    2 +
>  tools/build/Makefile.build                         |   10 +
>  tools/build/feature/Makefile                       |   10 +-
>  tools/build/feature/test-clang.cpp                 |   28 -
>  tools/build/feature/test-cxx.cpp                   |   16 -
>  tools/build/feature/test-llvm-version.cpp          |   12 -
>  tools/build/feature/test-llvm.cpp                  |   14 -
>  tools/lib/perf/include/perf/event.h                |   14 +-
>  tools/lib/perf/mmap.c                              |   66 +
>  tools/perf/Documentation/perf-bench.txt            |    3 +
>  tools/perf/Documentation/perf-config.txt           |   33 -
>  tools/perf/Documentation/perf-dlfilter.txt         |   22 +-
>  tools/perf/Documentation/perf-ftrace.txt           |   16 +-
>  tools/perf/Documentation/perf-record.txt           |   95 +-
>  tools/perf/Documentation/perf.data-file-format.txt |    2 +-
>  tools/perf/Makefile.config                         |   59 +-
>  tools/perf/Makefile.perf                           |   36 +-
>  tools/perf/arch/arm/include/perf_regs.h            |    3 -
>  tools/perf/arch/arm/util/cs-etm.c                  |   12 +-
>  tools/perf/arch/arm/util/perf_regs.c               |   11 +
>  tools/perf/arch/arm/util/unwind-libdw.c            |    1 +
>  tools/perf/arch/arm64/include/arch-tests.h         |    3 +
>  tools/perf/arch/arm64/include/perf_regs.h          |    3 -
>  tools/perf/arch/arm64/tests/Build                  |    1 +
>  tools/perf/arch/arm64/tests/arch-tests.c           |    4 +
>  tools/perf/arch/arm64/tests/cpuid-match.c          |   37 +
>  tools/perf/arch/arm64/util/arm-spe.c               |    2 +-
>  tools/perf/arch/arm64/util/header.c                |   67 +-
>  tools/perf/arch/arm64/util/machine.c               |    1 +
>  tools/perf/arch/arm64/util/mem-events.c            |    2 +-
>  tools/perf/arch/arm64/util/perf_regs.c             |    6 +
>  tools/perf/arch/arm64/util/pmu.c                   |   18 +-
>  tools/perf/arch/arm64/util/unwind-libdw.c          |    1 +
>  tools/perf/arch/csky/include/perf_regs.h           |    3 -
>  tools/perf/arch/csky/util/perf_regs.c              |   11 +
>  tools/perf/arch/csky/util/unwind-libdw.c           |    1 +
>  tools/perf/arch/loongarch/include/perf_regs.h      |    2 -
>  tools/perf/arch/loongarch/util/perf_regs.c         |   11 +
>  tools/perf/arch/loongarch/util/unwind-libdw.c      |    1 +
>  tools/perf/arch/mips/include/perf_regs.h           |    2 -
>  tools/perf/arch/mips/util/perf_regs.c              |   11 +
>  tools/perf/arch/powerpc/include/perf_regs.h        |    3 -
>  tools/perf/arch/powerpc/util/mem-events.c          |    6 +-
>  tools/perf/arch/powerpc/util/perf_regs.c           |    6 +
>  tools/perf/arch/powerpc/util/unwind-libdw.c        |    1 +
>  tools/perf/arch/riscv/include/perf_regs.h          |    3 -
>  tools/perf/arch/riscv/util/perf_regs.c             |   11 +
>  tools/perf/arch/riscv/util/unwind-libdw.c          |    1 +
>  tools/perf/arch/s390/include/perf_regs.h           |    3 -
>  tools/perf/arch/s390/util/perf_regs.c              |   11 +
>  tools/perf/arch/s390/util/unwind-libdw.c           |    1 +
>  tools/perf/arch/x86/entry/syscalls/syscalltbl.sh   |    2 +-
>  tools/perf/arch/x86/include/perf_regs.h            |    2 -
>  tools/perf/arch/x86/util/evlist.c                  |    7 +-
>  tools/perf/arch/x86/util/evsel.c                   |    7 +-
>  tools/perf/arch/x86/util/intel-pt.c                |   39 +-
>  tools/perf/arch/x86/util/mem-events.c              |    8 +-
>  tools/perf/arch/x86/util/perf_regs.c               |    6 +
>  tools/perf/arch/x86/util/pmu.c                     |   10 +-
>  tools/perf/arch/x86/util/unwind-libdw.c            |    1 +
>  tools/perf/bench/Build                             |    1 +
>  tools/perf/bench/bench.h                           |    3 +
>  tools/perf/bench/breakpoint.c                      |   24 +-
>  tools/perf/bench/pmu-scan.c                        |    8 +-
>  tools/perf/bench/uprobe.c                          |  198 ++
>  tools/perf/builtin-bench.c                         |    8 +
>  tools/perf/builtin-diff.c                          |    4 +-
>  tools/perf/builtin-list.c                          |   23 +-
>  tools/perf/builtin-lock.c                          |    3 +-
>  tools/perf/builtin-record.c                        |   45 -
>  tools/perf/builtin-script.c                        |   22 +-
>  tools/perf/builtin-top.c                           |    1 +
>  tools/perf/builtin-trace.c                         |  338 ++--
>  tools/perf/check-headers.sh                        |    6 +-
>  tools/perf/dlfilters/dlfilter-test-api-v0.c        |   26 +-
>  tools/perf/dlfilters/dlfilter-test-api-v2.c        |  377 ++++
>  tools/perf/examples/bpf/5sec.c                     |   53 -
>  tools/perf/examples/bpf/empty.c                    |   12 -
>  tools/perf/examples/bpf/hello.c                    |   27 -
>  tools/perf/examples/bpf/sys_enter_openat.c         |   33 -
>  tools/perf/include/perf/perf_dlfilter.h            |   11 +-
>  tools/perf/perf.c                                  |    2 -
>  tools/perf/pmu-events/Build                        |    6 +
>  .../arch/arm64/ampere/ampereone/cache.json         |    3 -
>  .../arch/arm64/ampere/ampereone/core-imp-def.json  |  120 --
>  .../arch/arm64/ampere/ampereone/metrics.json       |  362 ++++
>  .../arch/arm64/ampere/ampereone/pipeline.json      |   12 +-
>  .../arch/arm64/arm/neoverse-n2-v2/branch.json      |    8 -
>  .../arch/arm64/arm/neoverse-n2-v2/bus.json         |   18 +-
>  .../arch/arm64/arm/neoverse-n2-v2/cache.json       |  155 --
>  .../arch/arm64/arm/neoverse-n2-v2/exception.json   |   45 +-
>  .../arm64/arm/neoverse-n2-v2/fp_operation.json     |   22 +
>  .../arch/arm64/arm/neoverse-n2-v2/general.json     |   10 +
>  .../arch/arm64/arm/neoverse-n2-v2/instruction.json |  143 --
>  .../arch/arm64/arm/neoverse-n2-v2/l1d_cache.json   |   54 +
>  .../arch/arm64/arm/neoverse-n2-v2/l1i_cache.json   |   14 +
>  .../arch/arm64/arm/neoverse-n2-v2/l2_cache.json    |   50 +
>  .../arch/arm64/arm/neoverse-n2-v2/l3_cache.json    |   22 +
>  .../arch/arm64/arm/neoverse-n2-v2/ll_cache.json    |   10 +
>  .../arch/arm64/arm/neoverse-n2-v2/memory.json      |   39 +-
>  .../arch/arm64/arm/neoverse-n2-v2/metrics.json     |  365 ++--
>  .../arch/arm64/arm/neoverse-n2-v2/pipeline.json    |   23 -
>  .../arch/arm64/arm/neoverse-n2-v2/retired.json     |   30 +
>  .../arch/arm64/arm/neoverse-n2-v2/spe.json         |   12 +-
>  .../arm64/arm/neoverse-n2-v2/spec_operation.json   |  110 +
>  .../arch/arm64/arm/neoverse-n2-v2/stall.json       |   30 +
>  .../arch/arm64/arm/neoverse-n2-v2/sve.json         |   50 +
>  .../arch/arm64/arm/neoverse-n2-v2/tlb.json         |   66 +
>  .../arch/arm64/arm/neoverse-n2-v2/trace.json       |   27 +-
>  .../arm64/freescale/yitian710/sys/ali_drw.json     |  373 ++++
>  .../arm64/freescale/yitian710/sys/metrics.json     |   20 +
>  tools/perf/pmu-events/arch/arm64/sbsa.json         |   24 +-
>  .../pmu-events/arch/powerpc/power10/cache.json     |   47 +-
>  .../arch/powerpc/power10/floating_point.json       |   66 +-
>  .../pmu-events/arch/powerpc/power10/frontend.json  |  197 +-
>  .../pmu-events/arch/powerpc/power10/marked.json    |  224 ++-
>  .../pmu-events/arch/powerpc/power10/memory.json    |   93 +-
>  .../pmu-events/arch/powerpc/power10/metrics.json   |   89 +-
>  .../pmu-events/arch/powerpc/power10/others.json    |  210 +-
>  .../pmu-events/arch/powerpc/power10/pipeline.json  |  292 ++-
>  .../perf/pmu-events/arch/powerpc/power10/pmc.json  |  198 +-
>  .../arch/powerpc/power10/translation.json          |   43 +-
>  .../pmu-events/arch/x86/alderlake/adl-metrics.json |   11 +-
>  .../arch/x86/alderlaken/adln-metrics.json          |    2 +
>  .../pmu-events/arch/x86/icelake/icl-metrics.json   |   10 +-
>  .../pmu-events/arch/x86/icelakex/icx-metrics.json  |   10 +-
>  tools/perf/pmu-events/arch/x86/mapfile.csv         |    4 +-
>  .../perf/pmu-events/arch/x86/meteorlake/cache.json |  165 ++
>  .../arch/x86/meteorlake/floating-point.json        |    8 +
>  .../pmu-events/arch/x86/meteorlake/frontend.json   |   56 +
>  .../pmu-events/arch/x86/meteorlake/memory.json     |   80 +
>  .../perf/pmu-events/arch/x86/meteorlake/other.json |   16 +
>  .../pmu-events/arch/x86/meteorlake/pipeline.json   |  159 ++
>  .../arch/x86/rocketlake/rkl-metrics.json           |   10 +-
>  .../pmu-events/arch/x86/sapphirerapids/other.json  |   18 +
>  .../arch/x86/sapphirerapids/spr-metrics.json       |    9 +-
>  .../pmu-events/arch/x86/skylake/skl-metrics.json   |    2 +-
>  .../pmu-events/arch/x86/tigerlake/tgl-metrics.json |   10 +-
>  tools/perf/pmu-events/empty-pmu-events.c           |   49 +-
>  tools/perf/pmu-events/jevents.py                   |  330 ++-
>  tools/perf/pmu-events/metric.py                    |   17 +-
>  tools/perf/pmu-events/pmu-events.h                 |   15 +-
>  tools/perf/scripts/python/Perf-Trace-Util/Build    |    3 +-
>  .../python/Perf-Trace-Util/lib/Perf/Trace/Util.py  |    7 +-
>  tools/perf/scripts/python/bin/gecko-record         |    2 +
>  tools/perf/scripts/python/bin/gecko-report         |    7 +
>  tools/perf/scripts/python/gecko.py                 |  395 ++++
>  tools/perf/tests/.gitignore                        |    5 -
>  tools/perf/tests/Build                             |   31 -
>  tools/perf/tests/bpf-script-example.c              |   60 -
>  tools/perf/tests/bpf-script-test-kbuild.c          |   21 -
>  tools/perf/tests/bpf-script-test-prologue.c        |   49 -
>  tools/perf/tests/bpf-script-test-relocation.c      |   51 -
>  tools/perf/tests/bpf.c                             |  389 ----
>  tools/perf/tests/builtin-test.c                    |   14 +-
>  tools/perf/tests/clang.c                           |   32 -
>  tools/perf/tests/config-fragments/README           |    7 +
>  tools/perf/tests/config-fragments/arm64            |    1 +
>  tools/perf/tests/config-fragments/config           |   11 +
>  tools/perf/tests/dlfilter-test.c                   |   38 +-
>  tools/perf/tests/expr.c                            |    5 +-
>  tools/perf/tests/llvm.c                            |  219 --
>  tools/perf/tests/llvm.h                            |   31 -
>  tools/perf/tests/make                              |    1 -
>  tools/perf/tests/mmap-basic.c                      |    6 +-
>  tools/perf/tests/parse-events.c                    |    4 +-
>  tools/perf/tests/pmu-events.c                      |  208 +-
>  tools/perf/tests/pmu.c                             |   94 +-
>  tools/perf/tests/shell/coresight/asm_pure_loop.sh  |    2 +-
>  .../tests/shell/coresight/memcpy_thread_16k_10.sh  |    2 +-
>  .../shell/coresight/thread_loop_check_tid_10.sh    |    2 +-
>  .../shell/coresight/thread_loop_check_tid_2.sh     |    2 +-
>  .../tests/shell/coresight/unroll_loop_thread_10.sh |    2 +-
>  tools/perf/tests/shell/lib/probe.sh                |    1 +
>  tools/perf/tests/shell/lib/probe_vfs_getname.sh    |    5 +-
>  tools/perf/tests/shell/lib/stat_output.sh          |    1 +
>  tools/perf/tests/shell/lib/waiting.sh              |    1 +
>  tools/perf/tests/shell/lock_contention.sh          |   12 +-
>  tools/perf/tests/shell/probe_vfs_getname.sh        |    4 +-
>  tools/perf/tests/shell/record+zstd_comp_decomp.sh  |   14 +-
>  tools/perf/tests/shell/record_bpf_filter.sh        |  134 ++
>  tools/perf/tests/shell/record_offcpu.sh            |    6 +-
>  tools/perf/tests/shell/stat+csv_output.sh          |    2 +-
>  tools/perf/tests/shell/stat+csv_summary.sh         |    4 +-
>  tools/perf/tests/shell/stat+shadow_stat.sh         |    4 +-
>  tools/perf/tests/shell/stat+std_output.sh          |    3 +-
>  tools/perf/tests/shell/stat_bpf_counters.sh        |    8 +-
>  tools/perf/tests/shell/stat_bpf_counters_cgrp.sh   |   28 +-
>  tools/perf/tests/shell/test_arm_spe_fork.sh        |    2 +-
>  .../tests/shell/test_perf_data_converter_json.sh   |    2 +-
>  tools/perf/tests/shell/test_task_analyzer.sh       |    2 +-
>  tools/perf/tests/shell/trace+probe_vfs_getname.sh  |    8 +-
>  tools/perf/tests/stat.c                            |    2 +-
>  tools/perf/tests/tests.h                           |    2 -
>  tools/perf/trace/beauty/arch_errno_names.sh        |   15 +-
>  tools/perf/trace/beauty/beauty.h                   |   15 +-
>  tools/perf/trace/beauty/mmap_flags.sh              |    7 +-
>  tools/perf/trace/beauty/mmap_prot.sh               |    5 +-
>  tools/perf/trace/beauty/x86_arch_prctl.sh          |    6 +-
>  tools/perf/ui/Build                                |    2 -
>  tools/perf/ui/browser.c                            |    6 +-
>  tools/perf/ui/browsers/Build                       |    5 -
>  tools/perf/ui/browsers/hists.c                     |   60 +-
>  tools/perf/ui/libslang.h                           |   20 +-
>  tools/perf/ui/tui/helpline.c                       |    2 +-
>  tools/perf/ui/tui/setup.c                          |    2 +-
>  tools/perf/ui/tui/util.c                           |   12 +-
>  tools/perf/util/Build                              |   72 +-
>  tools/perf/util/amd-sample-raw.c                   |    1 -
>  tools/perf/util/annotate.c                         |   10 +-
>  tools/perf/util/bpf-filter.c                       |   14 +-
>  tools/perf/util/bpf-filter.y                       |    2 +
>  tools/perf/util/bpf-loader.c                       | 2110 --------------------
>  tools/perf/util/bpf-loader.h                       |  216 --
>  .../bpf_skel/augmented_raw_syscalls.bpf.c}         |   53 +-
>  tools/perf/util/bpf_skel/bench_uprobe.bpf.c        |   23 +
>  tools/perf/util/build-id.c                         |    6 +-
>  tools/perf/util/c++/Build                          |    2 -
>  tools/perf/util/c++/clang-c.h                      |   43 -
>  tools/perf/util/c++/clang-test.cpp                 |   67 -
>  tools/perf/util/c++/clang.cpp                      |  225 ---
>  tools/perf/util/c++/clang.h                        |   27 -
>  tools/perf/util/config.c                           |    4 -
>  tools/perf/util/cs-etm.c                           |   14 +-
>  tools/perf/util/dlfilter.c                         |   32 +
>  tools/perf/util/env.c                              |    8 +-
>  tools/perf/util/event.c                            |   30 +-
>  tools/perf/util/event.h                            |    2 +
>  tools/perf/util/evsel.c                            |   10 +-
>  tools/perf/util/expr.c                             |   29 +-
>  tools/perf/util/expr.h                             |    1 +
>  tools/perf/util/expr.l                             |    1 +
>  tools/perf/util/expr.y                             |   12 +-
>  tools/perf/util/header.c                           |   52 +-
>  tools/perf/util/libunwind/arm64.c                  |    2 -
>  tools/perf/util/libunwind/x86_32.c                 |    2 -
>  tools/perf/util/llvm-utils.c                       |  612 ------
>  tools/perf/util/llvm-utils.h                       |   69 -
>  tools/perf/util/lzma.c                             |   12 +-
>  tools/perf/util/machine.c                          |    4 +-
>  tools/perf/util/mem-events.c                       |   16 +-
>  tools/perf/util/mem-events.h                       |    2 +-
>  tools/perf/util/metricgroup.c                      |   10 +-
>  tools/perf/util/parse-events.c                     |  723 +++----
>  tools/perf/util/parse-events.h                     |  104 +-
>  tools/perf/util/parse-events.l                     |   44 +-
>  tools/perf/util/parse-events.y                     |  448 ++---
>  tools/perf/util/perf-regs-arch/Build               |    9 +
>  tools/perf/util/perf-regs-arch/perf_regs_aarch64.c |   96 +
>  tools/perf/util/perf-regs-arch/perf_regs_arm.c     |   60 +
>  tools/perf/util/perf-regs-arch/perf_regs_csky.c    |  100 +
>  .../perf/util/perf-regs-arch/perf_regs_loongarch.c |   91 +
>  tools/perf/util/perf-regs-arch/perf_regs_mips.c    |   87 +
>  tools/perf/util/perf-regs-arch/perf_regs_powerpc.c |  145 ++
>  tools/perf/util/perf-regs-arch/perf_regs_riscv.c   |   92 +
>  tools/perf/util/perf-regs-arch/perf_regs_s390.c    |   96 +
>  tools/perf/util/perf-regs-arch/perf_regs_x86.c     |   98 +
>  tools/perf/util/perf_regs.c                        |  772 +------
>  tools/perf/util/perf_regs.h                        |   56 +-
>  tools/perf/util/pmu.c                              |  934 ++++++---
>  tools/perf/util/pmu.h                              |  122 +-
>  tools/perf/util/pmu.y                              |   35 +-
>  tools/perf/util/pmus.c                             |  326 +--
>  tools/perf/util/pmus.h                             |    2 +
>  tools/perf/util/print-events.h                     |    1 +
>  tools/perf/util/probe-event.c                      |   30 +-
>  tools/perf/util/probe-event.h                      |    1 -
>  tools/perf/util/python-ext-sources                 |    9 +
>  tools/perf/util/python.c                           |    5 +
>  tools/perf/util/s390-sample-raw.c                  |   51 +-
>  tools/perf/util/scripting-engines/Build            |    3 +-
>  tools/perf/util/session.c                          |    4 +-
>  tools/perf/util/setup.py                           |    3 +
>  tools/perf/util/stat-display.c                     |    4 +-
>  tools/perf/util/stat.c                             |    2 +-
>  tools/perf/util/svghelper.c                        |    2 +-
>  tools/perf/util/symbol-elf.c                       |    2 +
>  tools/perf/util/symbol.c                           |   15 +-
>  tools/perf/util/synthetic-events.c                 |    2 +-
>  tools/perf/util/thread.c                           |   13 +
>  tools/perf/util/thread.h                           |    2 +
>  tools/perf/util/unwind-libdw.c                     |    8 +-
>  tools/perf/util/unwind-libunwind-local.c           |    6 +-
>  tools/perf/util/unwind.h                           |    8 -
>  tools/scripts/utilities.mak                        |   20 +
>  286 files changed, 8081 insertions(+), 9121 deletions(-)
>  delete mode 100644 tools/build/feature/test-clang.cpp
>  delete mode 100644 tools/build/feature/test-cxx.cpp
>  delete mode 100644 tools/build/feature/test-llvm-version.cpp
>  delete mode 100644 tools/build/feature/test-llvm.cpp
>  create mode 100644 tools/perf/arch/arm64/tests/cpuid-match.c
>  create mode 100644 tools/perf/bench/uprobe.c
>  create mode 100644 tools/perf/dlfilters/dlfilter-test-api-v2.c
>  delete mode 100644 tools/perf/examples/bpf/5sec.c
>  delete mode 100644 tools/perf/examples/bpf/empty.c
>  delete mode 100644 tools/perf/examples/bpf/hello.c
>  delete mode 100644 tools/perf/examples/bpf/sys_enter_openat.c
>  create mode 100644 tools/perf/pmu-events/arch/arm64/ampere/ampereone/metrics.json
>  delete mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/branch.json
>  delete mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/cache.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/fp_operation.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/general.json
>  delete mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/instruction.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/l1d_cache.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/l1i_cache.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/l2_cache.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/l3_cache.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/ll_cache.json
>  delete mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/pipeline.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/retired.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/spec_operation.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/stall.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/sve.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/tlb.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/ali_drw.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/metrics.json
>  create mode 100644 tools/perf/scripts/python/bin/gecko-record
>  create mode 100755 tools/perf/scripts/python/bin/gecko-report
>  create mode 100644 tools/perf/scripts/python/gecko.py
>  delete mode 100644 tools/perf/tests/.gitignore
>  delete mode 100644 tools/perf/tests/bpf-script-example.c
>  delete mode 100644 tools/perf/tests/bpf-script-test-kbuild.c
>  delete mode 100644 tools/perf/tests/bpf-script-test-prologue.c
>  delete mode 100644 tools/perf/tests/bpf-script-test-relocation.c
>  delete mode 100644 tools/perf/tests/bpf.c
>  delete mode 100644 tools/perf/tests/clang.c
>  create mode 100644 tools/perf/tests/config-fragments/README
>  create mode 100644 tools/perf/tests/config-fragments/arm64
>  create mode 100644 tools/perf/tests/config-fragments/config
>  delete mode 100644 tools/perf/tests/llvm.c
>  delete mode 100644 tools/perf/tests/llvm.h
>  create mode 100755 tools/perf/tests/shell/record_bpf_filter.sh
>  delete mode 100644 tools/perf/util/bpf-loader.c
>  delete mode 100644 tools/perf/util/bpf-loader.h
>  rename tools/perf/{examples/bpf/augmented_raw_syscalls.c => util/bpf_skel/augmented_raw_syscalls.bpf.c} (91%)
>  create mode 100644 tools/perf/util/bpf_skel/bench_uprobe.bpf.c
>  delete mode 100644 tools/perf/util/c++/Build
>  delete mode 100644 tools/perf/util/c++/clang-c.h
>  delete mode 100644 tools/perf/util/c++/clang-test.cpp
>  delete mode 100644 tools/perf/util/c++/clang.cpp
>  delete mode 100644 tools/perf/util/c++/clang.h
>  delete mode 100644 tools/perf/util/llvm-utils.c
>  delete mode 100644 tools/perf/util/llvm-utils.h
>  create mode 100644 tools/perf/util/perf-regs-arch/Build
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_aarch64.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_arm.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_csky.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_loongarch.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_mips.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_powerpc.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_riscv.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_s390.c
>  create mode 100644 tools/perf/util/perf-regs-arch/perf_regs_x86.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ