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]
Message-ID: <20240521192614.3937942-1-acme@kernel.org>
Date: Tue, 21 May 2024 16:26:14 -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>,
	Anne Macedo <retpolanne@...teo.net>,
	Bhaskar Chowdhury <unixbhaskar@...il.com>,
	Ethan Adams <j.ethan.adams@...il.com>,
	James Clark <james.clark@....com>,
	Kan Liang <kan.liang@...ux.intel.com>,
	Thomas Richter <tmricht@...ux.ibm.com>,
	Tycho Andersen <tycho@...ho.pizza>,
	Yang Jihong <yangjihong@...edance.com>,
	Arnaldo Carvalho de Melo <acme@...hat.com>
Subject: [GIT PULL] perf tools changes for v6.10

Hi Linus,

	Please consider pulling, there is one patch for updating
the tools/lib/ (edited) copy of rbtree.c and rbtree_augmented.h that is
already in your tree, as I didn't notice that Andrew Morton had picked
it until Stephen Rothwell mentioned it to me, no biggie, I think.

Best regards,

- Arnaldo

The following changes since commit ed30a4a51bb196781c8058073ea720133a65596f:

  Linux 6.9-rc5 (2024-04-21 12:35:54 -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.10-1-2024-05-21

for you to fetch changes up to ea558c86248b4955e5c5f3c0c921df450880605e:

  tools lib subcmd: Show parent options in help (2024-05-12 21:09:52 -0300)

----------------------------------------------------------------
perf tools fixes and improvements for v6.10:

- Add Kan Liang to MAINTAINERS as a perf tools reviewer.

- Add support for using the 'capstone' disassembler library in various tools,
  such as 'perf script' and 'perf annotate'. This is an alternative for the
  use of the 'xed' and 'objdump' disassemblers.

- Data-type profiling improvements:

  Resolve types for a->b->c by backtracking the assignments until it finds
  DWARF info for one of those members

  Support for global variables, keeping a cache to speed up lookups.

  Handle the 'call' instruction, dealing with effects on registers and handling
  its return when tracking register data types.

  Handle x86's segment based addressing like %gs:0x28, to support things like
  per CPU variables, the stack canary, etc.

  Data-type profiling got big speedups when using capstone for disassembling.
  The objdump outoput parsing method is left as a fallback when capstone fails or
  isn't available. There are patches posted for 6.11 that to use a LLVM
  disassembler.

  Support event group display in the TUI when annotating types with --data-type,
  for instance to show memory load and store events for the data type fields.

  Optimize the 'perf annotate' data structures, reducing memory usage.

  Add a initial 'perf test' for 'perf annotate', checking that a target symbol
  appears on the output, specifying objdump via the command line, etc.

- Integrate the shellcheck utility with the build of perf to allow catching
  shell problems early in areas such as 'perf test', 'perf trace' scrape
  scripts, etc.

- Add 'uretprobe' variant in the 'perf bench uprobe' tool.

- Add script to run instances of 'perf script' in parallel.

- Allow parsing tracepoint names that start with digits, such as
  9p/9p_client_req, etc. Make sure 'perf test' tests it even on systems
  where those tracepoints aren't available.

Vendor Events:

- Update Intel JSON files for Cascade Lake X, Emerald Rapids, Grand Ridge, Ice
  Lake X, Lunar Lake, Meteor Lake, Sapphire Rapids, Sierra Forest, Sky Lake X,
  Sky Lake and Snow Ridge X.  Remove info metrics erroneously in TopdownL1.

- Add AMD's Zen 5 core and uncore events and metrics. Those come from the
  "Performance Monitor Counters for AMD Family 1Ah Model 00h- 0Fh Processors"
  document, with events that capture information on op dispatch, execution and
  retirement, branch prediction, L1 and L2 cache activity, TLB activity, etc.

- Mark L1D_CACHE_INVAL impacted by errata for ARM64's AmpereOne/AmpereOneX.

Miscellaneous:

- Sync header copies with the kernel sources.

- Move some header copies used only for generating translation string tables
  for ioctl cmds and other syscall integer arguments to a new directory under
  tools/perf/beauty/, to separate from copies in tools/include/ that are used
  to build the tools.

- Introduce scrape script for several syscall 'flags'/'mask' arguments.

- Improve cpumap utilization, fixing up pairing of refcounts, using the right
  iterators (perf_cpu_map__for_each_cpu), etc.

- Give more details about raw event encodings in 'perf list', show tracepoint
  encoding in the detailed output.

- Refactor the DSOs handling code, reducing memory usage.

- Document the BPF event modifier and add a 'perf test' for it.

- Improve the event parser, better error messages and add further 'perf test's
  for it.

- Add reference count checking to 'struct comm_str' and 'struct mem_info'.

- Make ARM64's 'perf test' entries for the Neoverse N1 more robust.

- Tweak the ARM64's Coresight 'perf test's.

- Improve ARM64's CoreSight ETM version detection and error reporting.

- Fix handling of symbols when using kcore.

- Fix PAI (Processor Activity Instrumentation) counter names for s390 virtual
  machines in 'perf report'.

- Fix -g/--call-graph option failure in 'perf sched timehist'.

- Add LIBTRACEEVENT_DIR build option to allow building with libtraceevent
  installed in non-standard directories, such as when doing cross builds.

- Various 'perf test' and 'perf bench' fixes.

- Improve 'perf probe' error message for long C++ probe names.

Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>

----------------------------------------------------------------
Adrian Hunter (6):
      perf script: Show also errors for --insn-trace option
      perf auxtrace: Fix multiple use of --itrace option
      perf script: Consolidate capstone print functions
      perf record: Fix debug message placement for test consumption
      perf scripts python: Add a script to run instances of 'perf script' in parallel
      perf intel-pt: Fix unassigned instruction op (discovered by MemorySanitizer)

Andi Kleen (2):
      perf script: Support 32bit code under 64bit OS with capstone
      perf script: Add capstone support for '-F +brstackdisasm'

Anne Macedo (1):
      perf lock contention: Trim backtrace by skipping traceiter functions

Arnaldo Carvalho de Melo (36):
      perf trace: Collect sys_nanosleep first argument
      perf beauty: Fix dependency of tables using uapi/linux/mount.h
      perf beauty: Move uapi/linux/fs.h copy out of the directory used to build perf
      perf beauty: Don't include uapi/linux/mount.h, use sys/mount.h instead
      perf beauty: Move uapi/linux/mount.h copy out of the directory used to build perf
      perf beauty: Move uapi/linux/usbdevice_fs.h copy out of the directory used to build perf
      perf beauty: Move uapi/sound/asound.h copy out of the directory used to build perf
      perf beauty: Move arch/x86/include/asm/irq_vectors.h copy out of the directory used to build perf
      perf beauty: Stop using the copy of uapi/linux/prctl.h
      perf beauty: Move prctl.h files (uapi/linux and x86's) copy out of the directory used to build perf
      perf beauty: Use the system linux/fcntl.h instead of a copy from the kernel
      tools headers: Remove now unused copies of uapi/{fcntl,openat2}.h and asm/fcntl.h
      tools headers: Remove almost unused copy of uapi/stat.h, add few conditional defines
      perf beauty: Introduce scrape script for 'clone' syscall 'flags' argument
      perf beauty: Introduce scrape script for various fs syscalls 'flags' arguments
      perf beauty: Introduce scrape script for the 'statx' syscall 'mask' argument
      perf beauty: Introduce faccessat2 flags scnprintf routine
      perf trace: Beautify the 'flags' arg of unlinkat
      perf trace: Fix 'newfstatat'/'fstatat' argument pretty printing
      perf probe: Add missing libgen.h header needed for using basename()
      perf beauty: Move uapi/linux/vhost.h copy out of the directory used to build perf
      perf tools: Add Kan Liang to MAINTAINERS as a reviewer
      perf annotate: Initialize 'arch' variable not to trip some -Werror=maybe-uninitialized
      Revert "tools headers: Remove almost unused copy of uapi/stat.h, add few conditional defines"
      Merge remote-tracking branch 'torvalds/master' into perf-tools-next
      tools include UAPI: Sync linux/vhost.h with the kernel sources
      tools arch x86: Sync the msr-index.h copy with the kernel sources
      perf tests shell kprobes: Add missing description as used by 'perf test' output
      tools lib rbtree: Pick some improvements from the kernel rbtree code
      tools headers x86 cpufeatures: Sync with the kernel sources to pick BHI mitigation changes
      tools headers: Synchronize linux/bits.h with the kernel sources
      perf test: Reintroduce -p/--parallel and make -S/--sequential the default
      perf annotate: Use zfree() to avoid possibly accessing dangling pointers
      perf callchain: Use zfree() to avoid possibly accessing dangling pointers
      perf kwork: Use zfree() to avoid possibly accessing dangling pointers
      perf probe: Use zfree() to avoid possibly accessing dangling pointers

Athira Rajeev (1):
      perf annotate: Fix a comment about multi_regs in extract_reg_offset function

Bhaskar Chowdhury (1):
      perf c2c: Fix a punctuation

Chaitanya S Prakash (1):
      perf tools: Enable configs required for test_uprobe_from_different_cu.sh

Chen Pei (1):
      perf genelf: Fix compiling with libelf on rv32

Dima Kogan (2):
      perf probe-event: Un-hardcode sizeof(buf)
      perf probe-event: Better error message for a too-long probe name

Dominique Martinet (3):
      perf parse-events: pass parse_state to add_tracepoint
      perf parse-events: Add new 'fake_tp' parameter for tests
      perf parse: Allow tracepoint names to start with digits

Ethan Adams (1):
      perf build: Fix out of tree build related to installation of sysreg-defs

He Zhe (1):
      perf bench internals inject-build-id: Fix trap divide when collecting just one DSO

Howard Chu (1):
      perf record: Fix comment misspellings

Ian Rogers (100):
      libperf cpumap: Add any, empty and min helpers
      libperf cpumap: Ensure empty cpumap is NULL from alloc
      perf arm-spe/cs-etm: Directly iterate CPU maps
      perf intel-pt/intel-bts: Switch perf_cpu_map__has_any_cpu_or_is_empty use
      perf cpumap: Clean up use of perf_cpu_map__has_any_cpu_or_is_empty
      perf arm64 header: Remove unnecessary CPU map get and put
      perf stat: Remove duplicate cpus_map_matched function
      perf cpumap: Use perf_cpu_map__for_each_cpu when possible
      perf list: Add tracepoint encoding to detailed output
      perf pmu: Drop "default_core" from alias names
      perf list: Allow wordwrap to wrap on commas
      perf list: Give more details about raw event encodings
      perf tools: Use pmus to describe type from attribute
      perf tools: Add/use PMU reverse lookup from config to name
      perf record: Delete session after stopping sideband thread
      perf test: Stat output per thread of just the parent process
      perf test: Use a single fd for the child process out/err
      perf test: Read child test 10 times a second rather than 1
      perf tools: Suggest inbuilt commands for unknown command
      perf help: Lower levenshtein penality for deleting character
      perf tests: Run tests in parallel by default
      perf vendor events intel: Update cascadelakex to 1.21
      perf vendor events intel: Update emeraldrapids to 1.06
      perf vendor events intel: Update grandridge to 1.02
      perf vendor events intel: Update icelakex to 1.24
      perf vendor events intel: Update lunarlake to 1.01
      perf vendor events intel: Update meteorlake to 1.08
      perf vendor events intel: Update sapphirerapids to 1.20
      perf vendor events intel: Update sierraforest to 1.02
      perf vendor events intel: Update skylakex to 1.33
      perf vendor events intel: Update skylake to v58
      perf vendor events intel: Update snowridgex to 1.22
      perf vendor events intel: Remove info metrics erroneously in TopdownL1
      perf dso: Reorder members to save space in 'struct dso'
      tools subcmd: Add check_if_command_finished()
      perf metrics: Remove the "No_group" metric group
      perf dsos: Attempt to better abstract DSOs internals
      perf dsos: Tidy reference counting and locking
      perf dsos: Introduce dsos__for_each_dso()
      perf dso: Move dso functions out of dsos.c
      perf dsos: Switch more loops to dsos__for_each_dso()
      perf list: Escape '\r' in JSON output
      perf build: Add shellcheck to tools/perf scripts
      perf arch x86: Add shellcheck to build
      perf util: Add shellcheck to generate-cmdlist.sh
      perf trace beauty: Add shellcheck to scripts
      perf bench uprobe: Remove lib64 from libc.so.6 binary path
      perf bench uprobe: Add uretprobe variant of uprobe benchmarks
      perf docs: Document bpf event modifier
      perf test bpf-counters: Add test for BPF event modifier
      perf parse-events: Factor out '<event_or_pmu>/.../' parsing
      perf parse-events: Directly pass PMU to parse_events_add_pmu()
      perf parse-events: Avoid copying an empty list
      perf pmu: Refactor perf_pmu__match()
      perf tests parse-events: Use "branches" rather than "cache-references"
      perf parse-events: Legacy cache names on all PMUs and lower priority
      perf parse-events: Handle PE_TERM_HW in name_or_raw
      perf parse-events: Constify parse_events_add_numeric
      perf parse-events: Prefer sysfs/JSON hardware events over legacy
      perf parse-events: Inline parse_events_update_lists
      perf parse-events: Improve error message for bad numbers
      perf parse-events: Inline parse_events_evlist_error
      perf parse-events: Improvements to modifier parsing
      perf parse-event: Constify event_symbol arrays
      perf parse-events: Minor grouping tidy up
      perf parse-events: Tidy the setting of the default event name
      perf build: Pretend scandirat is missing with msan
      perf test pmu-events: Make it clearer that pmu-events tests JSON events
      perf Document: Sysfs event names must be lower or upper case
      perf test pmu: Refactor format test and exposed test APIs
      perf test pmu: Add an eagerly loaded event test
      perf test pmu: Test all sysfs PMU event names are the same case
      perf pmu: Assume sysfs events are always the same case
      perf trace: Disable syscall augmentation with record
      perf dsos: Switch backing storage to array from rbtree/list
      perf dsos: Remove __dsos__addnew()
      perf dsos: Remove __dsos__findnew_link_by_longname_id()
      perf dsos: Switch hand crafted code to bsearch()
      perf dso: Add reference count checking and accessor functions
      perf map: Add missing dso__put() in map__new()
      perf symbol-elf: Ensure dso__put() in machine__process_ksymbol_register()
      perf symbol-elf: dso__load_sym_internal() reference count fixes
      perf dso: Use container_of() to avoid a pointer in 'struct dso_data'
      perf ui browser: Don't save pointer to stack memory
      perf annotate: Fix memory leak in annotated_source
      perf block-info: Remove unused refcount
      perf cpumap: Remove refcnt from 'struct cpu_aggr_map'
      perf comm: Add reference count checking to 'struct comm_str'
      perf mem-info: Move mem-info out of mem-events and symbol
      perf mem-info: Add reference count checking
      perf hist: Avoid 'struct hist_entry_iter' mem_info memory leak
      perf ui browser: Avoid SEGV on title
      perf comm: Fix comm_str__put() for reference count checking
      perf report: Avoid SEGV in report__setup_sample_type()
      perf thread: Fixes to thread__new() related to initializing comm
      perf tracepoint: Don't scan all tracepoints to test if one exists
      perf lock: Avoid memory leaks from strdup()
      libsubcmd: Fix parse-options memory leak
      perf stat: Don't display metric header for non-leader uncore events
      perf pmu: Count sys and cpuid JSON events separately

Ilkka Koskinen (1):
      perf vendor events arm64: AmpereOne/AmpereOneX: Mark L1D_CACHE_INVAL impacted by errata

James Clark (16):
      perf docs arm_spe: Clarify more SPE requirements related to KPTI
      perf tests: Make "test data symbol" more robust on Neoverse N1
      perf tests: Apply attributes to all events in object code reading test
      perf map: Remove kernel map before updating start and end addresses
      perf tests: Remove dependency on lscpu
      perf test shell arm_coresight: Increase buffer size for Coresight basic tests
      perf cs-etm: Use struct perf_cpu as much as possible
      perf cs-etm: Remove repeated fetches of the ETM PMU
      perf cs-etm: Improve version detection and error reporting
      perf cs-etm: Print error for new PERF_RECORD_AUX_OUTPUT_HW_ID versions
      perf auxtrace: Allow number of queues to be specified
      perf dwarf-aux: Fix build with HAVE_DWARF_CFI_SUPPORT
      perf symbols: Remove map from list before updating addresses
      perf maps: Re-use __maps__free_maps_by_name()
      perf symbols: Update kcore map before merging in remaining symbols
      perf symbols: Fix ownership of string in dso__load_vmlinux()

Madadi Vineeth Reddy (1):
      perf sched: Rename 'switches' column header to 'count' and add usage description, options for latency

Namhyung Kim (74):
      perf dwarf-aux: Remove unused pc argument
      perf dwarf-aux: Add die_collect_vars()
      perf dwarf-aux: Handle type transfer for memory access
      perf dwarf-aux: Add die_find_func_rettype()
      perf map: Add map__objdump_2rip()
      perf annotate-data: Introduce 'struct data_loc_info'
      perf annotate: Add annotate_get_basic_blocks()
      perf annotate-data: Add debug messages
      perf annotate-data: Maintain variable type info
      perf annotate-data: Add update_insn_state()
      perf annotate-data: Add get_global_var_type()
      perf annotate-data: Handle global variable access
      perf annotate-data: Handle call instructions
      perf annotate-data: Implement instruction tracking
      perf annotate-data: Check register state for type
      perf annotate: Parse x86 segment register location
      perf annotate-data: Handle this-cpu variables in kernel
      perf annotate-data: Track instructions with a this-cpu variable
      perf annotate-data: Support general per-cpu access
      perf annotate-data: Handle ADD instructions
      perf annotate-data: Add stack canary type
      perf annotate-data: Add a cache for global variable types
      perf annotate-data: Do not retry for invalid types
      perf annotate: Get rid of duplicate --group option item
      perf annotate: Honor output options with --data-type
      perf annotate: Use ins__is_xxx() if possible
      perf annotate: Add and use ins__is_nop()
      perf annotate: Split out util/disasm.c
      perf annotate: Use libcapstone to disassemble
      perf annotate: Add symbol name when using capstone
      perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
      perf annotate: Staticize some local functions
      perf annotate: Introduce annotated_source__get_line()
      perf annotate: Check annotation lines more efficiently
      perf annotate: Get rid of offsets array
      perf annotate: Move 'widths' struct to 'struct annotated_source'
      perf annotate: Move 'max_jump_sources' struct to 'struct annotated_source'
      perf annotate: Move nr_events struct to 'struct annotated_source'
      perf annotate: Move 'start' field struct to 'struct annotated_source'
      perf annotate-data: Fix global variable lookup
      perf annotate-data: Do not delete non-asm lines
      perf annotate: Get rid of symbol__ensure_annotate()
      perf annotate-data: Skip sample histogram for stack canary
      perf annotate: Show progress of sample processing
      perf annotate-data: Add hist_entry__annotate_data_tty()
      perf annotate-data: Add hist_entry__annotate_data_tui()
      perf annotate-data: Support event group display in TUI
      perf report: Add a menu item to annotate data type in TUI
      perf report: Do not collect sample histogram unnecessarily
      perf annotate: Skip DSOs not found
      perf annotate-data: Improve debug message with location info
      perf dwarf-aux: Check pointer offset when checking variables
      perf dwarf-aux: Check variable address range properly
      perf annotate-data: Handle RSP if it's not the FB register
      perf hist: Move histogram related code to hist.h
      perf hist: Add weight fields to hist entry stats
      perf report: Add weight[123] output fields
      perf test: Add a new test for 'perf annotate'
      perf annotate-data: Check if 'struct annotation_source' was allocated on 'perf report' TUI
      perf annotate: Fallback disassemble to objdump when capstone fails
      perf annotate: Update DSO binary type when trying build-id
      perf annotate: Fix data type profiling on stdio
      perf dwarf-aux: Add die_collect_global_vars()
      perf annotate-data: Collect global variables in advance
      perf annotate-data: Handle direct global variable access
      perf annotate-data: Check memory access with two registers
      perf annotate-data: Handle multi regs in find_data_type_block()
      perf annotate-data: Check kind of stack variables
      perf maps: Remove check_invariants() from maps__lock()
      perf dwarf-aux: Print array type name with "[]"
      perf tools: Ignore deleted cgroups
      perf annotate: Fix segfault on sample histogram
      perf annotate-data: Ensure the number of type histograms
      tools lib subcmd: Show parent options in help

Samasth Norway Ananda (1):
      perf daemon: Fix file leak in daemon_session__control

Sandipan Das (4):
      perf vendor events amd: Add Zen 5 core events
      perf vendor events amd: Add Zen 5 uncore events
      perf vendor events amd: Add Zen 5 metrics
      perf vendor events amd: Add Zen 5 mapping

Thomas Richter (2):
      perf report: Fix PAI counter names for s390 virtual machines
      perf stat: Do not fail on metrics on s390 z/VM systems

Weilin Wang (1):
      perf stat: Add new field in stat_config to enable hardware aware grouping

Yang Jihong (4):
      perf sched timehist: Fix -g/--call-graph option failure
      perf evsel: Use evsel__name_is() helper
      perf beauty: Fix AT_EACCESS undeclared build error for system with kernel versions lower than v5.8
      perf build: Add LIBTRACEEVENT_DIR build option

 .../testing/sysfs-bus-event_source-devices-events  |    6 +
 MAINTAINERS                                        |    1 +
 tools/arch/x86/include/asm/cpufeatures.h           |    7 +-
 tools/arch/x86/include/asm/msr-index.h             |    9 +-
 tools/include/linux/bits.h                         |    8 +-
 tools/include/linux/rbtree_augmented.h             |    4 +-
 tools/include/uapi/asm-generic/bitsperlong.h       |    4 +
 tools/include/uapi/asm-generic/fcntl.h             |  221 --
 tools/include/uapi/linux/bits.h                    |   15 +
 tools/include/uapi/linux/openat2.h                 |   43 -
 tools/lib/perf/cpumap.c                            |   33 +-
 tools/lib/perf/include/perf/cpumap.h               |   16 +
 tools/lib/perf/libperf.map                         |    4 +
 tools/lib/perf/mmap.c                              |    2 +-
 tools/lib/rbtree.c                                 |    2 +-
 tools/lib/subcmd/parse-options.c                   |   44 +-
 tools/lib/subcmd/run-command.c                     |   70 +-
 tools/lib/subcmd/run-command.h                     |    3 +
 tools/perf/Build                                   |   14 +
 tools/perf/Documentation/perf-arm-spe.txt          |   12 +-
 tools/perf/Documentation/perf-list.txt             |    1 +
 tools/perf/Documentation/perf-report.txt           |    9 +-
 tools/perf/Documentation/perf-sched.txt            |   36 +
 tools/perf/Documentation/perf-script.txt           |    7 +-
 tools/perf/Documentation/perf-test.txt             |   13 +-
 tools/perf/Makefile.config                         |   25 +-
 tools/perf/Makefile.perf                           |  100 +-
 tools/perf/arch/arm/util/cs-etm.c                  |  381 ++--
 tools/perf/arch/arm64/util/arm-spe.c               |    4 +-
 tools/perf/arch/arm64/util/header.c                |   13 +-
 tools/perf/arch/x86/Build                          |   14 +
 tools/perf/arch/x86/tests/Build                    |   14 +
 tools/perf/arch/x86/tests/gen-insn-x86-dat.sh      |    2 +-
 tools/perf/arch/x86/util/intel-bts.c               |    4 +-
 tools/perf/arch/x86/util/intel-pt.c                |   10 +-
 tools/perf/bench/bench.h                           |    2 +
 tools/perf/bench/inject-buildid.c                  |    2 +-
 tools/perf/bench/uprobe.c                          |   22 +-
 tools/perf/builtin-annotate.c                      |  128 +-
 tools/perf/builtin-bench.c                         |    2 +
 tools/perf/builtin-buildid-cache.c                 |    2 +-
 tools/perf/builtin-buildid-list.c                  |   18 +-
 tools/perf/builtin-c2c.c                           |   21 +-
 tools/perf/builtin-daemon.c                        |    4 +-
 tools/perf/builtin-inject.c                        |   96 +-
 tools/perf/builtin-kallsyms.c                      |    2 +-
 tools/perf/builtin-kmem.c                          |    2 +-
 tools/perf/builtin-kwork.c                         |    2 +-
 tools/perf/builtin-list.c                          |   24 +-
 tools/perf/builtin-lock.c                          |   18 +-
 tools/perf/builtin-mem.c                           |    4 +-
 tools/perf/builtin-probe.c                         |    2 +-
 tools/perf/builtin-record.c                        |   14 +-
 tools/perf/builtin-report.c                        |   18 +-
 tools/perf/builtin-sched.c                         |   13 +-
 tools/perf/builtin-script.c                        |   86 +-
 tools/perf/builtin-stat.c                          |   52 +-
 tools/perf/builtin-top.c                           |    4 +-
 tools/perf/builtin-trace.c                         |   35 +-
 tools/perf/builtin.h                               |    4 +-
 tools/perf/check-headers.sh                        |   23 +-
 tools/perf/perf-archive.sh                         |    2 +-
 tools/perf/perf-completion.sh                      |   23 +-
 tools/perf/perf.c                                  |   23 +-
 .../arch/arm64/ampere/ampereone/cache.json         |    4 +-
 .../arch/arm64/ampere/ampereonex/cache.json        |    4 +-
 .../pmu-events/arch/s390/cf_z16/transaction.json   |   28 +-
 tools/perf/pmu-events/arch/s390/mapfile.csv        |    2 +-
 .../arch/x86/amdzen5/branch-prediction.json        |   93 +
 tools/perf/pmu-events/arch/x86/amdzen5/decode.json |  115 +
 .../pmu-events/arch/x86/amdzen5/execution.json     |  174 ++
 .../arch/x86/amdzen5/floating-point.json           |  812 +++++++
 .../pmu-events/arch/x86/amdzen5/inst-cache.json    |   72 +
 .../perf/pmu-events/arch/x86/amdzen5/l2-cache.json |  266 +++
 .../perf/pmu-events/arch/x86/amdzen5/l3-cache.json |  177 ++
 .../pmu-events/arch/x86/amdzen5/load-store.json    |  451 ++++
 .../arch/x86/amdzen5/memory-controller.json        |  101 +
 .../perf/pmu-events/arch/x86/amdzen5/pipeline.json |   99 +
 .../pmu-events/arch/x86/amdzen5/recommended.json   |  345 +++
 .../arch/x86/broadwellx/bdx-metrics.json           |   35 +-
 .../arch/x86/cascadelakex/clx-metrics.json         |   85 +-
 .../pmu-events/arch/x86/cascadelakex/frontend.json |   10 +-
 .../pmu-events/arch/x86/cascadelakex/memory.json   |    2 +-
 .../pmu-events/arch/x86/cascadelakex/other.json    |    2 +-
 .../pmu-events/arch/x86/cascadelakex/pipeline.json |    2 +-
 .../arch/x86/cascadelakex/uncore-interconnect.json |   14 +-
 .../arch/x86/cascadelakex/virtual-memory.json      |    2 +-
 .../arch/x86/emeraldrapids/frontend.json           |    2 +-
 .../pmu-events/arch/x86/emeraldrapids/memory.json  |    1 +
 .../arch/x86/emeraldrapids/pipeline.json           |    3 +
 .../arch/x86/emeraldrapids/uncore-cache.json       |  112 +-
 .../x86/emeraldrapids/uncore-interconnect.json     |   26 +-
 .../pmu-events/arch/x86/grandridge/pipeline.json   |   43 +-
 .../arch/x86/grandridge/uncore-cache.json          |   28 +-
 .../pmu-events/arch/x86/haswellx/hsx-metrics.json  |   35 +-
 .../pmu-events/arch/x86/icelakex/frontend.json     |    2 +-
 .../pmu-events/arch/x86/icelakex/icx-metrics.json  |   95 +-
 .../perf/pmu-events/arch/x86/icelakex/memory.json  |    1 +
 .../pmu-events/arch/x86/icelakex/uncore-cache.json |   22 +-
 .../arch/x86/icelakex/uncore-interconnect.json     |   64 +-
 .../pmu-events/arch/x86/icelakex/uncore-io.json    |   11 -
 .../perf/pmu-events/arch/x86/lunarlake/cache.json  |   24 +-
 .../pmu-events/arch/x86/lunarlake/frontend.json    |    2 +-
 .../perf/pmu-events/arch/x86/lunarlake/memory.json |    4 +-
 .../perf/pmu-events/arch/x86/lunarlake/other.json  |    4 +-
 .../pmu-events/arch/x86/lunarlake/pipeline.json    |  109 +-
 tools/perf/pmu-events/arch/x86/mapfile.csv         |   21 +-
 .../perf/pmu-events/arch/x86/meteorlake/cache.json |   30 +
 .../pmu-events/arch/x86/meteorlake/frontend.json   |    4 +-
 .../pmu-events/arch/x86/meteorlake/memory.json     |   20 +
 .../perf/pmu-events/arch/x86/meteorlake/other.json |   42 +-
 .../pmu-events/arch/x86/meteorlake/pipeline.json   |   44 +-
 .../arch/x86/meteorlake/uncore-interconnect.json   |   22 +-
 .../pmu-events/arch/x86/sapphirerapids/cache.json  |    1 +
 .../arch/x86/sapphirerapids/frontend.json          |    2 +-
 .../pmu-events/arch/x86/sapphirerapids/memory.json |    1 +
 .../arch/x86/sapphirerapids/pipeline.json          |   19 +-
 .../arch/x86/sapphirerapids/spr-metrics.json       |  119 +-
 .../arch/x86/sapphirerapids/uncore-cache.json      |  112 +-
 .../x86/sapphirerapids/uncore-interconnect.json    |   26 +-
 .../pmu-events/arch/x86/sierraforest/pipeline.json |   36 +-
 .../perf/pmu-events/arch/x86/skylake/frontend.json |   10 +-
 tools/perf/pmu-events/arch/x86/skylakex/cache.json |    9 +
 .../pmu-events/arch/x86/skylakex/frontend.json     |   10 +-
 .../perf/pmu-events/arch/x86/skylakex/memory.json  |    2 +-
 tools/perf/pmu-events/arch/x86/skylakex/other.json |    2 +-
 .../pmu-events/arch/x86/skylakex/pipeline.json     |    2 +-
 .../pmu-events/arch/x86/skylakex/skx-metrics.json  |   85 +-
 .../arch/x86/skylakex/uncore-interconnect.json     |   14 +-
 .../pmu-events/arch/x86/skylakex/uncore-io.json    |    2 +-
 .../arch/x86/skylakex/virtual-memory.json          |    2 +-
 .../arch/x86/snowridgex/uncore-cache.json          |    4 +-
 .../arch/x86/snowridgex/uncore-interconnect.json   |    6 +-
 .../pmu-events/arch/x86/snowridgex/uncore-io.json  |   11 -
 tools/perf/scripts/python/parallel-perf.py         |  988 ++++++++
 tools/perf/tests/bitmap.c                          |   13 +-
 tools/perf/tests/builtin-test.c                    |   62 +-
 tools/perf/tests/code-reading.c                    |   18 +-
 tools/perf/tests/config-fragments/config           |    3 +
 tools/perf/tests/dso-data.c                        |   67 +-
 tools/perf/tests/evsel-roundtrip-name.c            |    4 +-
 tools/perf/tests/hists_common.c                    |    6 +-
 tools/perf/tests/hists_cumulate.c                  |    4 +-
 tools/perf/tests/hists_output.c                    |    2 +-
 tools/perf/tests/maps.c                            |    4 +-
 tools/perf/tests/mem.c                             |   11 +-
 tools/perf/tests/parse-events.c                    |   58 +-
 tools/perf/tests/pmu-events.c                      |    4 +-
 tools/perf/tests/pmu.c                             |  467 ++--
 tools/perf/tests/shell/annotate.sh                 |   83 +
 .../tests/shell/base_probe/test_adding_kernel.sh   |    1 +
 tools/perf/tests/shell/lib/stat_output.sh          |    2 +-
 tools/perf/tests/shell/script.sh                   |   26 +-
 tools/perf/tests/shell/stat+json_output.sh         |    2 +-
 tools/perf/tests/shell/stat_bpf_counters.sh        |   75 +-
 tools/perf/tests/shell/test_arm_callgraph_fp.sh    |    4 +-
 tools/perf/tests/shell/test_arm_coresight.sh       |    2 +-
 tools/perf/tests/symbols.c                         |    8 +-
 tools/perf/tests/topology.c                        |   46 +-
 tools/perf/tests/vmlinux-kallsyms.c                |    6 +-
 tools/perf/tests/workloads/datasym.c               |   16 +
 tools/perf/trace/beauty/Build                      |   15 +
 .../beauty}/arch/x86/include/asm/irq_vectors.h     |    0
 .../beauty}/arch/x86/include/uapi/asm/prctl.h      |    0
 tools/perf/trace/beauty/arch_errno_names.sh        |    8 +-
 tools/perf/trace/beauty/beauty.h                   |    7 +-
 tools/perf/trace/beauty/clone.c                    |   46 +-
 tools/perf/trace/beauty/clone.sh                   |   17 +
 tools/perf/trace/beauty/fcntl.c                    |    2 +-
 tools/perf/trace/beauty/flock.c                    |    2 +-
 tools/perf/trace/beauty/fs_at_flags.c              |   58 +
 tools/perf/trace/beauty/fs_at_flags.sh             |   21 +
 tools/perf/trace/beauty/fsconfig.sh                |    6 +-
 tools/perf/trace/beauty/fsmount.c                  |    9 +-
 tools/perf/trace/beauty/fsmount.sh                 |    6 +-
 tools/perf/trace/beauty/fspick.sh                  |    6 +-
 .../trace/beauty}/include/uapi/linux/fcntl.h       |    0
 .../trace/beauty}/include/uapi/linux/fs.h          |    0
 .../trace/beauty}/include/uapi/linux/mount.h       |    0
 .../trace/beauty}/include/uapi/linux/prctl.h       |    0
 .../trace/beauty}/include/uapi/linux/sched.h       |    0
 tools/perf/trace/beauty/include/uapi/linux/stat.h  |  195 ++
 .../beauty}/include/uapi/linux/usbdevice_fs.h      |    0
 .../trace/beauty}/include/uapi/linux/vhost.h       |   20 +-
 .../trace/beauty}/include/uapi/sound/asound.h      |    0
 tools/perf/trace/beauty/mount_flags.sh             |    6 +-
 tools/perf/trace/beauty/move_mount_flags.sh        |    6 +-
 tools/perf/trace/beauty/prctl.c                    |    2 +-
 tools/perf/trace/beauty/prctl_option.sh            |    6 +-
 tools/perf/trace/beauty/rename_flags.sh            |    2 +-
 tools/perf/trace/beauty/sndrv_ctl_ioctl.sh         |    4 +-
 tools/perf/trace/beauty/sndrv_pcm_ioctl.sh         |    4 +-
 tools/perf/trace/beauty/statx.c                    |   67 +-
 tools/perf/trace/beauty/statx_mask.sh              |   23 +
 tools/perf/trace/beauty/sync_file_range.c          |   11 +-
 tools/perf/trace/beauty/sync_file_range.sh         |    2 +-
 .../trace/beauty/tracepoints/x86_irq_vectors.sh    |    6 +-
 tools/perf/trace/beauty/usbdevfs_ioctl.sh          |    6 +-
 tools/perf/trace/beauty/vhost_virtio_ioctl.sh      |    6 +-
 tools/perf/trace/beauty/x86_arch_prctl.sh          |    4 +-
 tools/perf/ui/browser.c                            |    6 +-
 tools/perf/ui/browser.h                            |    2 +-
 tools/perf/ui/browsers/Build                       |    1 +
 tools/perf/ui/browsers/annotate-data.c             |  313 +++
 tools/perf/ui/browsers/annotate.c                  |   21 +-
 tools/perf/ui/browsers/hists.c                     |   39 +-
 tools/perf/ui/browsers/map.c                       |    4 +-
 tools/perf/ui/hist.c                               |   92 +-
 tools/perf/util/Build                              |   16 +
 tools/perf/util/annotate-data.c                    | 1648 +++++++++++++-
 tools/perf/util/annotate-data.h                    |   74 +-
 tools/perf/util/annotate.c                         | 2378 +++++---------------
 tools/perf/util/annotate.h                         |  129 +-
 tools/perf/util/auxtrace.c                         |   19 +-
 tools/perf/util/auxtrace.h                         |    1 +
 tools/perf/util/block-info.c                       |   24 +-
 tools/perf/util/block-info.h                       |   15 +-
 tools/perf/util/bpf-event.c                        |    8 +-
 tools/perf/util/bpf_counter_cgroup.c               |    5 +-
 tools/perf/util/bpf_kwork.c                        |   16 +-
 tools/perf/util/bpf_kwork_top.c                    |   12 +-
 .../util/bpf_skel/augmented_raw_syscalls.bpf.c     |   21 +
 tools/perf/util/bpf_skel/bench_uprobe.bpf.c        |   16 +
 tools/perf/util/build-id.c                         |  136 +-
 tools/perf/util/build-id.h                         |    2 -
 tools/perf/util/callchain.c                        |    4 +-
 tools/perf/util/cgroup.c                           |    4 +-
 tools/perf/util/comm.c                             |  207 +-
 tools/perf/util/cpumap.c                           |   14 +-
 tools/perf/util/cpumap.h                           |    2 -
 tools/perf/util/cs-etm.c                           |    5 +-
 tools/perf/util/data-convert-json.c                |    2 +-
 tools/perf/util/db-export.c                        |    6 +-
 tools/perf/util/debug.c                            |    3 +
 tools/perf/util/debug.h                            |    1 +
 tools/perf/util/disasm.c                           | 1837 +++++++++++++++
 tools/perf/util/disasm.h                           |  112 +
 tools/perf/util/dlfilter.c                         |   12 +-
 tools/perf/util/dso.c                              |  472 ++--
 tools/perf/util/dso.h                              |  560 ++++-
 tools/perf/util/dsos.c                             |  529 +++--
 tools/perf/util/dsos.h                             |   40 +-
 tools/perf/util/dump-insn.h                        |    1 +
 tools/perf/util/dwarf-aux.c                        |  442 +++-
 tools/perf/util/dwarf-aux.h                        |   41 +-
 tools/perf/util/event.c                            |    8 +-
 tools/perf/util/evlist.c                           |    3 +-
 tools/perf/util/evsel.c                            |   20 +-
 tools/perf/util/evsel.h                            |    4 +-
 tools/perf/util/genelf.h                           |    3 +
 tools/perf/util/header.c                           |    8 +-
 tools/perf/util/help-unknown-cmd.c                 |   51 +-
 tools/perf/util/hist.c                             |   78 +-
 tools/perf/util/hist.h                             |  217 +-
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  |    2 +
 tools/perf/util/intel-pt.c                         |   24 +-
 tools/perf/util/machine.c                          |  227 +-
 tools/perf/util/machine.h                          |    4 +-
 tools/perf/util/map.c                              |   91 +-
 tools/perf/util/map.h                              |    3 +
 tools/perf/util/maps.c                             |   44 +-
 tools/perf/util/mem-events.c                       |   36 +-
 tools/perf/util/mem-events.h                       |   29 +-
 tools/perf/util/mem-info.c                         |   35 +
 tools/perf/util/mem-info.h                         |   54 +
 tools/perf/util/metricgroup.c                      |   10 +-
 tools/perf/util/metricgroup.h                      |    1 +
 tools/perf/util/parse-events.c                     |  522 ++---
 tools/perf/util/parse-events.h                     |   60 +-
 tools/perf/util/parse-events.l                     |  200 +-
 tools/perf/util/parse-events.y                     |  263 +--
 tools/perf/util/perf_event_attr_fprintf.c          |   26 +-
 tools/perf/util/pmu.c                              |  291 ++-
 tools/perf/util/pmu.h                              |   16 +-
 tools/perf/util/pmus.c                             |  110 +-
 tools/perf/util/pmus.h                             |    3 +
 tools/perf/util/print-events.c                     |   55 +-
 tools/perf/util/print_insn.c                       |   75 +-
 tools/perf/util/print_insn.h                       |    8 +-
 tools/perf/util/probe-event.c                      |   32 +-
 tools/perf/util/python.c                           |   10 +
 tools/perf/util/record.c                           |    2 +-
 .../perf/util/scripting-engines/trace-event-perl.c |    6 +-
 .../util/scripting-engines/trace-event-python.c    |   45 +-
 tools/perf/util/session.c                          |   26 +-
 tools/perf/util/session.h                          |    2 +
 tools/perf/util/sort.c                             |  116 +-
 tools/perf/util/sort.h                             |  190 +-
 tools/perf/util/srcline.c                          |   65 +-
 tools/perf/util/stat-display.c                     |    3 +
 tools/perf/util/stat.c                             |    2 +-
 tools/perf/util/stat.h                             |    1 +
 tools/perf/util/svghelper.c                        |   20 +-
 tools/perf/util/symbol-elf.c                       |  145 +-
 tools/perf/util/symbol-minimal.c                   |    4 +-
 tools/perf/util/symbol.c                           |  261 +--
 tools/perf/util/symbol.h                           |   12 -
 tools/perf/util/symbol_fprintf.c                   |    4 +-
 tools/perf/util/synthetic-events.c                 |   24 +-
 tools/perf/util/thread.c                           |   18 +-
 tools/perf/util/tracepoint.c                       |   56 +-
 tools/perf/util/tracepoint.h                       |    3 +-
 tools/perf/util/unwind-libunwind-local.c           |   18 +-
 tools/perf/util/unwind-libunwind.c                 |    2 +-
 tools/perf/util/values.h                           |    1 +
 tools/perf/util/vdso.c                             |   56 +-
 306 files changed, 15214 insertions(+), 6278 deletions(-)
 delete mode 100644 tools/include/uapi/asm-generic/fcntl.h
 create mode 100644 tools/include/uapi/linux/bits.h
 delete mode 100644 tools/include/uapi/linux/openat2.h
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/branch-prediction.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/decode.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/execution.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/floating-point.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/inst-cache.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/l2-cache.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/l3-cache.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/load-store.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/memory-controller.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/pipeline.json
 create mode 100644 tools/perf/pmu-events/arch/x86/amdzen5/recommended.json
 create mode 100755 tools/perf/scripts/python/parallel-perf.py
 create mode 100755 tools/perf/tests/shell/annotate.sh
 rename tools/{ => perf/trace/beauty}/arch/x86/include/asm/irq_vectors.h (100%)
 rename tools/{ => perf/trace/beauty}/arch/x86/include/uapi/asm/prctl.h (100%)
 create mode 100755 tools/perf/trace/beauty/clone.sh
 create mode 100644 tools/perf/trace/beauty/fs_at_flags.c
 create mode 100755 tools/perf/trace/beauty/fs_at_flags.sh
 rename tools/{ => perf/trace/beauty}/include/uapi/linux/fcntl.h (100%)
 rename tools/{ => perf/trace/beauty}/include/uapi/linux/fs.h (100%)
 rename tools/{ => perf/trace/beauty}/include/uapi/linux/mount.h (100%)
 rename tools/{ => perf/trace/beauty}/include/uapi/linux/prctl.h (100%)
 rename tools/{ => perf/trace/beauty}/include/uapi/linux/sched.h (100%)
 create mode 100644 tools/perf/trace/beauty/include/uapi/linux/stat.h
 rename tools/{ => perf/trace/beauty}/include/uapi/linux/usbdevice_fs.h (100%)
 rename tools/{ => perf/trace/beauty}/include/uapi/linux/vhost.h (97%)
 rename tools/{ => perf/trace/beauty}/include/uapi/sound/asound.h (100%)
 create mode 100755 tools/perf/trace/beauty/statx_mask.sh
 create mode 100644 tools/perf/ui/browsers/annotate-data.c
 create mode 100644 tools/perf/util/disasm.c
 create mode 100644 tools/perf/util/disasm.h
 create mode 100644 tools/perf/util/mem-info.c
 create mode 100644 tools/perf/util/mem-info.h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ