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-next>] [day] [month] [year] [list]
Date:   Tue,  5 Sep 2023 21:53:30 -0300
From:   Arnaldo Carvalho de Melo <acme@...nel.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Ingo Molnar <mingo@...nel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Jiri Olsa <jolsa@...nel.org>,
        Namhyung Kim <namhyung@...nel.org>,
        Ian Rogers <irogers@...gle.com>,
        Adrian Hunter <adrian.hunter@...el.com>,
        Clark Williams <williams@...hat.com>,
        Kate Carcia <kcarcia@...hat.com>, linux-kernel@...r.kernel.org,
        linux-perf-users@...r.kernel.org,
        Arnaldo Carvalho de Melo <acme@...nel.org>,
        Aditya Gupta <adityag@...ux.ibm.com>,
        Akanksha J N <akanksha@...ux.ibm.com>,
        Anup Sharma <anupnewsmail@...il.com>,
        Athira Rajeev <atrajeev@...ux.vnet.ibm.com>,
        James Clark <james.clark@....com>,
        Jing Zhang <renyu.zj@...ux.alibaba.com>,
        John Garry <john.g.garry@...cle.com>,
        Kajol Jain <kjain@...ux.ibm.com>,
        Lu Hongfei <luhongfei@...o.com>,
        Masami Hiramatsu <mhiramat@...nel.org>,
        Thomas Richter <tmricht@...ux.ibm.com>,
        Xiu Jianfeng <xiujianfeng@...wei.com>,
        Alexandre Ghiti <alexghiti@...osinc.com>,
        Palmer Dabbelt <palmer@...osinc.com>,
        Arnaldo Carvalho de Melo <acme@...hat.com>
Subject: [GIT PULL] perf tools changes for v6.6

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.

	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