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>] [day] [month] [year] [list]
Message-ID: <20240919143330.492157-1-acme@kernel.org>
Date: Thu, 19 Sep 2024 16:33:29 +0200
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>,
	Kan Liang <kan.liang@...ux.intel.com>,
	Clark Williams <williams@...hat.com>,
	linux-kernel@...r.kernel.org,
	linux-perf-users@...r.kernel.org,
	Arnaldo Carvalho de Melo <acme@...nel.org>,
	Andi Kleen <ak@...ux.intel.com>,
	Athira Rajeev <atrajeev@...ux.vnet.ibm.com>,
	Brian Norris <briannorris@...omium.org>,
	Charlie Jenkins <charlie@...osinc.com>,
	Chen Ni <nichen@...as.ac.cn>,
	Dan Carpenter <dan.carpenter@...aro.org>,
	Disha Goel <disgoel@...ux.ibm.com>,
	"Dr . David Alan Gilbert" <linux@...blig.org>,
	Howard Chu <howardchu95@...il.com>,
	James Clark <james.clark@...aro.org>,
	Kajol Jain <kjain@...ux.ibm.com>,
	Leo Yan <leo.yan@....com>,
	Martin Liska <martin.liska@....com>,
	Song Liu <song@...nel.org>,
	Tiezhu Yang <yangtiezhu@...ngson.cn>,
	Veronika Molnarova <vmolnaro@...hat.com>,
	Weilin Wang <weilin.wang@...el.com>,
	Zixian Cai <fzczx123@...il.com>,
	Arnaldo Carvalho de Melo <acme@...hat.com>
Subject: [GIT PULL] perf tools changes for v6.12

Hi Linus,

	Please consider pulling,

Best regards,

- Arnaldo

The following changes since commit b831f83e40a24f07c8dcba5be408d93beedc820f:

  Merge tag 'bpf-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf (2024-09-05 20:10:53 -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.12-1-2024-09-19

for you to fetch changes up to 1de5b5dcb8353f36581c963df2d359a5f151a0be:

  perf trace: Mark the 'head' arg in the set_robust_list syscall as coming from user space (2024-09-11 17:25:45 -0300)

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

- Use BPF + BTF to collect and pretty print syscall and tracepoint arguments in
  'perf trace', done as an GSoC activity.

- Data-type profiling improvements:

  - Cache debuginfo to speed up data type resolution.

  - Add the 'typecln' sort order, to show which cacheline in a target is hot or
    cold. The following shows members in the cfs_rq's first cache line:

      $ perf report -s type,typecln,typeoff -H
      ...
      -    2.67%        struct cfs_rq
         +    1.23%        struct cfs_rq: cache-line 2
         +    0.57%        struct cfs_rq: cache-line 4
         +    0.46%        struct cfs_rq: cache-line 6
         -    0.41%        struct cfs_rq: cache-line 0
                 0.39%        struct cfs_rq +0x14 (h_nr_running)
                 0.02%        struct cfs_rq +0x38 (tasks_timeline.rb_leftmost)

  - When a typedef resolves to a unnamed struct, use the typedef name.

  - When a struct has just one basic type field (int, etc), resolve the type
    sort order to the name of the struct, not the type of the field.

  - Support type folding/unfolding in the data-type annotation TUI.

  - Fix bitfields offsets and sizes.

  - Initial support for PowerPC, using libcapstone and the usual objdump
    disassembly parsing routines.

- Add support for disassembling and addr2line using the LLVM libraries,
  speeding up those operations.

- Support --addr2line option in 'perf script' as with other tools.

- Intel branch counters (LBR event logging) support, only available in recent
  Intel processors, for instance, the new "brcntr" field can be asked from
  'perf script' to print the information collected from this feature:

  $ perf script -F +brstackinsn,+brcntr

  # Branch counter abbr list:
  # branch-instructions:ppp = A
  # branch-misses = B
  # '-' No event occurs
  # '+' Event occurrences may be lost due to branch counter saturated
      tchain_edit  332203 3366329.405674:  53030 branch-instructions:ppp:    401781 f3+0x2c (home/sdp/test/tchain_edit)
         f3+31:
      0000000000401774   insn: eb 04                  br_cntr: AA  # PRED 5 cycles [5]
      000000000040177a   insn: 81 7d fc 0f 27 00 00
      0000000000401781   insn: 7e e3                  br_cntr: A   # PRED 1 cycles [6] 2.00 IPC
      0000000000401766   insn: 8b 45 fc
      0000000000401769   insn: 83 e0 01
      000000000040176c   insn: 85 c0
      000000000040176e   insn: 74 06                  br_cntr: A   # PRED 1 cycles [7] 4.00 IPC
      0000000000401776   insn: 83 45 fc 01
      000000000040177a   insn: 81 7d fc 0f 27 00 00
      0000000000401781   insn: 7e e3                  br_cntr: A   # PRED 7 cycles [14] 0.43 IPC

- Support Timed PEBS (Precise Event-Based Sampling), a recent hardware feature
  in Intel processors.

- Add 'perf ftrace profile' subcommand, using ftrace's function-graph tracer so
  that users can see the total, average, max execution time as well as the
  number of invocations easily, for instance:

  $ sudo perf ftrace profile -G __x64_sys_perf_event_open -- \
    perf stat -e cycles -C1 true 2> /dev/null | head
  # Total (us)  Avg (us)  Max (us)  Count  Function
        65.611    65.611    65.611      1  __x64_sys_perf_event_open
        30.527    30.527    30.527      1  anon_inode_getfile
        30.260    30.260    30.260      1  __anon_inode_getfile
        29.700    29.700    29.700      1  alloc_file_pseudo
        17.578    17.578    17.578      1  d_alloc_pseudo
        17.382    17.382    17.382      1  __d_alloc
        16.738    16.738    16.738      1  kmem_cache_alloc_lru
        15.686    15.686    15.686      1  perf_event_alloc
        14.012     7.006    11.264      2  obj_cgroup_charge
  #

- 'perf sched timehist' improvements, including the addition of priority
  showing/filtering command line options.

- Varios improvements to the 'perf probe', including 'perf test' regression
  testings.

- Introduce the 'perf check', initially to check if some feature is in place,
  using it in 'perf test'.

- Various fixes for 32-bit systems.

- Address more leak sanitizer failures.

- Fix memory leaks (LBR, disasm lock ops, etc).

- More reference counting fixes (branch_info, etc).

- Constify 'struct perf_tool' parameters to improve code generation and reduce
  the chances of having its internals changed, which isn't expected.

- More constifications in various other places.

- Add more build tests, including for JEVENTS.

- Add more 'perf test' entries ('perf record LBR', pipe/inject, --setup-filter,
  'perf ftrace', 'cgroup sampling', etc).

- Inject build ids for all entries in a call chain in 'perf inject', not just
  for the main sample.

- Improve the BPF based sample filter, allowing root to setup filters in bpffs
  that then can be used by non-root users.

- Allow filtering by cgroups with the BPF based sample filter.

- Allow a more compact way for 'perf mem report' using the -T/--type-profile and
  also provide a --sort option similar to the one in 'perf report', 'perf top',
  to setup the sort order manually.

- Fix --group behavior in 'perf annotate' when leader has no samples, where it
  was not showing anything even when other events in the group had samples.

- Fix spinlock and rwlock accounting in 'perf lock contention'

- Fix libsubcmd fixdep Makefile dependencies.

- Improve 'perf ftrace' error message when ftrace isn't available.

- Update various Intel JSON vendor event files.

- ARM64 CoreSight hardware tracing infrastructure improvements, mostly not
  visible to users.

- Update power10 JSON events.

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

----------------------------------------------------------------
Aditya Gupta (5):
      libsubcmd: Don't free the usage string
      perf check: Introduce 'check' subcommand
      perf version: Update --build-options to use 'supported_features' array
      perf tools test_task_analyzer.sh: Update to use 'perf check feature'
      perf check: Fix inconsistencies in feature names

Adrian Hunter (2):
      perf tools: Enable evsel__is_aux_event() to work for ARM/ARM64
      perf tools: Enable evsel__is_aux_event() to work for S390_CPUMSF

Alexander Gordeev (1):
      tools build: Provide consistent build options for fixdep

Andi Kleen (4):
      perf tools: Create source symlink in perf object dir
      perf test: Support external tests for separate objdir
      perf script: Minimize "not reaching sample" for '-F +brstackinsn'
      perf script python: Avoid buffer overflow in python PEBS register interface

Andrew Kreimer (1):
      perf help: Fix a typo ("bellow")

Arnaldo Carvalho de Melo (33):
      perf trace: Introduce trace__btf_scnprintf()
      perf trace: Remove arg_fmt->is_enum, we can get that from the BTF type
      perf bpf: Move BPF disassembly routines to separate file to avoid clash with capstone bpf headers
      Merge remote-tracking branch 'torvalds/master' into perf-tools-next
      perf tests ftrace: Add pattern check for time, count
      perf test shell lbr: Support hybrid x86 systems too
      perf debuginfo: Fix the build with !HAVE_DWARF_SUPPORT
      perf tests pmu: Initialize all fields of test_pmu variable
      perf build: Fix up broken capstone feature detection fast path
      Merge remote-tracking branch 'torvalds/master' into perf-tools-next
      perf daemon: Fix the build on more 32-bit architectures
      perf python: Allow checking for the existence of warning options in clang
      perf python: Disable -Wno-cast-function-type-mismatch if present on clang
      perf test vfs_getname: Look for alternative line where to collect the pathname
      perf trace: Pass the richer 'struct syscall_arg' pointer to trace__btf_scnprintf()
      tools build: Remove leftover libcap tests that prevents fast path feature detection from working
      Revert "tools build: Remove leftover libcap tests that prevents fast path feature detection from working"
      perf tools: Build x86 32-bit syscall table from arch/x86/entry/syscalls/syscall_32.tbl
      Merge remote-tracking branch 'torvalds/master' into perf-tools-next
      perf trace augmented_syscalls.bpf: Move the renameat aumenter to renameat2, temporarily
      perf trace: Use a common encoding for augmented arguments, with size + error + payload
      perf trace: Mark which syscall arguments go from user space to kernel space
      perf trace: Introduce SCA_PERF_ATTR_FROM_USER() to set .from_user = true
      perf trace: Introduce SCA_SOCKADDR_FROM_USER() to set .from_user = true
      perf trace: Introduce SCA_TIMESPEC_FROM_USER() to set .from_user = true
      perf trace: Mark bpf's attr as from_user
      perf trace: Support collecting 'union's with the BPF augmenter
      perf trace: Mark the rlim arg in the prlimit64 and setrlimit syscalls as coming from user space
      perf trace: If a syscall arg is marked as 'const', assume it is coming _from_ userspace
      perf build: Require at least clang 16.0.6 to build BPF skeletons
      perf test shell probe_vfs_getname: Remove extraneous '=' from probe line number regex
      perf trace: Mark the 'rseq' arg in the rseq syscall as coming from user space
      perf trace: Mark the 'head' arg in the set_robust_list syscall as coming from user space

Athira Rajeev (16):
      perf annotate: Move the data structures related to register type to header file
      perf annotate: Add "update_insn_state" callback function to handle arch specific instruction tracking
      perf annotate: Update TYPE_STATE_MAX_REGS to include max of regs in powerpc
      perf annotate: Add disasm_line__parse() to parse raw instruction for powerpc
      perf annotate: Add support to capture and parse raw instruction in powerpc using dso__data_read_offset utility
      perf annotate: Update parameters for reg extract functions to use raw instruction on powerpc
      perf annotate: Add parse function for memory instructions in powerpc
      perf annotate: Add support to identify memory instructions of opcode 31 in powerpc
      perf annotate: Add some of the arithmetic instructions to support instruction tracking in powerpc
      perf annotate: Add more instructions for instruction tracking
      perf annotate: Update instruction tracking for powerpc
      perf annotate: Make capstone_init non-static so that it can be used during symbol disassemble
      perf annotate: Use capstone_init and remove open_capstone_handle from disasm.c
      perf annotate: Add support to use libcapstone in powerpc
      perf annotate: Set instruction name to be used with insn-stat when using raw instruction
      perf tests probe_vfs_getname.sh: Update to use 'perf check feature'

Brian Norris (3):
      tools build: Correct libsubcmd fixdep dependencies
      tools build: Avoid circular .fixdep-in.o.cmd issues
      tools build: Correct bpf fixdep dependencies

Changbin Du (1):
      perf ftrace: Detect whether ftrace is enabled on system

Charlie Jenkins (1):
      libperf: Add gitignore

Chen Ni (3):
      perf annotate: Convert comma to semicolon
      perf daemon: Convert comma to semicolon
      perf inject: Convert comma to semicolon

Dr. David Alan Gilbert (1):
      perf test pmu: Remove unused test_pmus

Howard Chu (12):
      perf trace: BTF-based enum pretty printing for syscall args
      perf trace: Augment non-syscall tracepoints with enum arguments with BTF
      perf trace: Filter enum arguments with enum names
      perf test: Add landlock workload
      perf test trace_btf_enum: Add regression test for the BTF augmentation of enums in 'perf trace'
      perf evlist: Introduce method to find if there is a bpf-output event
      perf trace: Fix perf trace -p <PID>
      perf trace: Add trace__bpf_sys_enter_beauty_map() to prepare for fetching data in BPF
      perf trace: Pretty print struct data
      perf trace: Pretty print buffer data
      perf trace: Collect augmented data using BPF
      perf trace: Add --force-btf for debugging

Ian Rogers (81):
      perf test: Avoid python leak sanitizer test failures
      perf jevents: Use name for special find value (PMU_EVENTS__NOT_FOUND)
      perf jevents: Autogenerate empty-pmu-events.c
      perf python: Remove PYTHON_PERF ifdefs
      perf test: Add build test for JEVENTS_ARCH=all
      perf pmu-events: Change dependencies for empty-pmu-events.c test
      perf pmu-events: Remove duplicated ampereone event
      perf jevents.py: Ensure event names aren't duplicated
      perf hist: Fix reference counting of branch_info
      perf callchain: Fix stitch LBR memory leaks
      perf test: Add set of perf record LBR tests
      perf vendor events: SKX, CLX, SNR uncore cache event fixes
      perf inject: Fix leader sampling inserting additional samples
      perf auxtrace: Remove dummy tools
      perf s390-cpumsf: Remove unused struct
      perf tool: Constify tool pointers
      perf tool: Move fill defaults into tool.c
      perf tool: Add perf_tool__init()
      perf kmem: Use perf_tool__init
      perf buildid-list: Use perf_tool__init
      perf kvm: Use perf_tool__init()
      perf lock: Use perf_tool__init()
      perf evlist: Use perf_tool__init()
      perf record: Use perf_tool__init()
      perf c2c: Use perf_tool__init()
      perf script: Use perf_tool__init()
      perf inject: Use perf_tool__init()
      perf report: Use perf_tool__init()
      perf stat: Use perf_tool__init()
      perf annotate: Use perf_tool__init()
      perf sched: Use perf_tool__init()
      perf mem: Use perf_tool__init()
      perf timechart: Use perf_tool__init()
      perf diff: Use perf_tool__init()
      perf data convert json: Use perf_tool__init()
      perf data convert ctf: Use perf_tool__init()
      perf test event_update: Ensure tools is initialized
      perf kwork: Use perf_tool__init()
      perf tool: Remove perf_tool__fill_defaults()
      perf session: Constify tool
      perf parse-events: Add a retirement latency modifier
      perf callchain: Add a for_each callback style API
      perf inject: Inject build ids for entire call chain
      perf disasm: Fix memory leak for locked operations
      perf test annotate: Dump trapping test in trap handler
      perf synthetic-events: Avoid unnecessary memset
      perf map: API clean up
      perf jit: Constify filename argument
      perf dso: Constify dso_id
      perf evsel: Constify evsel__id_hdr_size() argument
      perf test: Expand pipe/inject test
      perf inject: Combine build_ids and build_id_all into enum
      perf inject: Combine different mmap and mmap2 functions
      perf inject: Combine mmap and mmap2 handling
      perf cap: Tidy up and improve capability testing
      perf report: Name events in stats for pipe mode
      perf session: Document 'struct perf_session' and constify its 'auxtrace' member
      perf header: Add kerneldoc to 'struct perf_file_header'
      perf header: Fail read if header sections overlap
      perf header: Allow attributes to be written after data
      perf inject: Overhaul handling of pipe files
      perf header: Remove repipe option
      perf test: Additional pipe tests with pipe output written to a file
      perf pmus: Fix name comparisons on 32-bit systems
      perf time-utils: Fix 32-bit nsec parsing
      perf test: Skip uprobe test if probe command isn't present
      perf test: Make watchpoint data 32-bits on i386
      perf pmu: Merge boolean sysfs event option parsing
      perf parse-events: Pass cpu_list as a perf_cpu_map in __add_event()
      perf parse-events: Add default_breakpoint_len helper
      perf parse-events: Vary default_breakpoint_len on i386 and arm64
      perf jevents: Add cpuid to model lookup command
      perf jevents: Ignore sys when determining a model directory
      perf inject: Fix build ID injection
      perf inject: Add new mmap2-buildid-all option
      perf inject: Lazy build-id mmap2 event insertion
      perf callchain: Allow symbols to be optional when resolving a callchain
      perf list: Avoid potential out of bounds memory read
      perf pmus: Fake PMU clean up
      perf evsel: Add accessor for tool_event
      perf pmu: To info add event_type_desc

James Clark (12):
      perf cs-etm: Output 0 instead of 0xdeadbeef when exception packets are flushed
      perf scripts python cs-etm: Restore first sample log in verbose mode
      perf test trace_btf_enum: Fix shellcheck warning
      perf cs-etm: Create decoders after both AUX and HW_ID search passes
      perf: cs-etm: Allocate queues for all CPUs
      perf: cs-etm: Move traceid_list to each queue
      perf: cs-etm: Create decoders based on the trace ID mappings
      perf: cs-etm: Only save valid trace IDs into files
      perf: cs-etm: Support version 0.1 of HW_ID packets
      perf: cs-etm: Print queue number in raw trace dump
      perf build: Autodetect minimum required llvm-dev version
      perf build: Remove unused feature test target

Kajol Jain (4):
      perf vendor events power10: Update JSON/events
      perf vendor events power10: Update JSON/events
      perf vendor events power10: Move the JSON/events
      perf vendor events: Move PM_BR_MPRED_CMPL event for power10 platform

Kan Liang (15):
      perf report: Fix --total-cycles --stdio output error
      perf report: Remove the first overflow check for branch counters
      perf evlist: Save branch counters information
      perf annotate: Save branch counters for each block
      perf evsel: Assign abbr name for the branch counter events
      perf report: Display the branch counter histogram
      perf annotate: Display the branch counter histogram
      perf script: Add branch counters
      perf test: Add new test cases for the branch counter feature
      perf hist: Don't set hpp_fmt_value for members in --no-group
      perf mem: Check mem_events for all eligible PMUs
      perf mem: Fix missed p-core mem events on ADL and RPL
      perf mem: Fix the wrong reference in parse_record_events()
      perf evlist: Print hint for group
      perf env: Find correct branch counter info on hybrid

Leo Yan (5):
      perf arm-spe: Extract evsel setting up
      perf arm-spe: Support multiple Arm SPE events
      perf docs: Refine the description for the buffer size
      perf auxtrace: Use evsel__is_aux_event() for checking AUX event
      perf auxtrace: Remove unused 'pmu' pointer from struct auxtrace_record

Lucas Stach (1):
      perf vendor events arm64: Move Yitian 710 DDR PMU into T-Head directory

Martin Liška (1):
      perf script: add --addr2line option

Matt Fleming (1):
      perf hist: Update hist symbol when updating maps

Michael Petlan (2):
      perf tests shell: Skip base_* dirs in test script search
      perf testsuite: Install perf-report tests in the 'make install-tests -C tools/perf' target

Namhyung Kim (73):
      perf ftrace: Add 'tail' option to --graph-opts
      perf ftrace: Factor out check_ftrace_capable()
      perf ftrace: Add 'profile' command
      perf ftrace profile: Add -s/--sort option
      perf bpf-filter: Make filters map a single entry hashmap
      perf bpf-filter: Pass 'target' to perf_bpf_filter__prepare()
      perf bpf-filter: Split per-task filter use case
      perf bpf-filter: Support pin/unpin BPF object
      perf bpf-filter: Support separate lost counts for each filter
      perf record: Fix a potential error handling issue
      perf record: Add --setup-filter option
      perf test: Update sample filtering test
      perf hist: Correct hist_entry->mem_info refcounts
      perf mem: Free the allocated sort string, fixing a leak
      perf mem: Rework command option handling
      perf tools: Add mode argument to sort_help()
      perf mem: Add -s/--sort option
      perf mem: Add -T/--data-type option to report subcommand
      perf mem: Update documentation for new options
      perf annotate: Use al->data_nr if possible
      perf annotate: Set notes->src->nr_events early
      perf annotate: Use annotation__pcnt_width() consistently
      perf annotate: Set al->data_nr using the notes->src->nr_events
      perf annotate: Add --skip-empty option
      perf annotate: Cache debuginfo for data type profiling
      perf annotate-data: Show typedef names properly
      perf test: Add a new shell test for perf ftrace
      perf annotate: Fix --group behavior when leader has no samples
      perf annotate-data: Support --skip-empty option
      perf annotate-data: Fix a buffer overflow in TUI browser
      perf lock contention: Change stack_id type to s32
      perf annotate-data: Support folding in TUI browser
      perf annotate-data: Implement folding in TUI browser
      perf annotate-data: Show first-level children by default in TUI
      perf dwarf-aux: Check allowed location expressions when collecting variables
      perf annotate-data: Fix off-by-one in location range check
      perf annotate-data: Add 'enum type_match_result'
      perf annotate-data: Add variable_state_str()
      perf annotate-data: Change return type of find_data_type_block()
      perf annotate-data: Add is_pointer_type() helper
      perf annotate-data: Add is_better_type() helper
      perf annotate-data: Check variables in every scope
      perf annotate-data: Update type stat at the end of find_data_type_die()
      perf record: Fix sample cgroup & namespace tracking
      perf test: Add cgroup sampling test
      perf annotate-data: Set bitfield member offset and size properly
      perf annotate-data: Fix missing constant copy
      perf annotate-data: Prefer struct/union over base type
      perf annotate-data: Fix percpu pointer check
      perf annotate-data: Show offset and size in hex
      perf annotate-data: Add 'typecln' sort key
      perf dwarf-aux: Handle bitfield members from pointer access
      perf annotate-data: Update debug messages
      perf annotate-data: Update stack slot for the store
      perf annotate-data: Copy back variable types after move
      perf bpf-filter: Support multiple events properly
      perf tools: Print lost samples due to BPF filter
      perf test: Update sample filtering tests with multiple events
      perf report: Fix segfault when 'sym' sort key is not used
      perf bpf-filter: Add build dependency to header files
      perf bpf-filter: Support filtering on cgroups
      perf test: Add 'perf record cgroup' filtering test
      perf lock contention: Handle error in a single place
      perf lock contention: Simplify spinlock check
      perf lock contention: Do not fail EEXIST for update
      perf lock contention: Fix spinlock and rwlock accounting
      perf stat: Constify control data for BPF
      perf ftrace latency: Constify control data for BPF
      perf kwork: Constify control data for BPF
      perf lock contention: Constify control data for BPF
      perf record offcpu: Constify control data for BPF
      perf annotate: Treat 'call' instruction as stack operation
      perf annotate-data: Add pr_debug_scope()

Sam James (1):
      tools: Drop nonsensical -O6

Steinar H. Gunderson (3):
      perf report: Support LLVM for addr2line()
      perf annotate: Split out read_symbol()
      perf annotate: LLVM-based disassembler

Tiezhu Yang (2):
      perf tools: Fix wrong message when running "make JOBS=1"
      perf list: Give clues if failed to open tracing events directory

Veronika Molnarova (11):
      perf test pmu: Set uninitialized PMU alias to null
      perf test record.sh: Raise limit of open file descriptors
      perf testsuite: Merge settings files for shell tests
      perf testsuite: Fix shellcheck warnings
      perf testsuite probe: Add test for blacklisted kprobes handling
      perf testsuite probe: Add test for basic perf-probe options
      perf testsuite probe: Add test for invalid options
      perf testsuite probe: Add test for line semantics
      perf testsuite: Add common output checking helper
      perf testsuite report: Add test for perf-report basic functionality
      perf testsuite report: Add test case for perf report

Weilin Wang (7):
      perf test: make metric validation test return early when there is no metric supported on the test system
      perf data: Allow to use given fd in data->file.fd
      perf stat: Fork and launch 'perf record' when 'perf stat' needs to get retire latency value for a metric.
      perf vendor events intel: Add MTL metric JSON files
      perf stat: Add command line option for enabling TPEBS recording
      perf Document: Add TPEBS (Timed PEBS(Precise Event-Based Sampling)) to Documents
      perf test: Add test for Intel TPEBS counting mode

Xu Yang (1):
      perf python: Fix the build on 32-bit arm by including missing "util/sample.h"

Yang Jihong (6):
      perf sched timehist: Fix missing free of session in perf_sched__timehist()
      perf sched timehist: Fixed timestamp error when unable to confirm event sched_in time
      perf sched timehist: Skip print non-idle task samples when only show idle events
      perf sched timehist: Remove redundant BUG_ON in timehist_sched_change_event()
      perf sched timehist: Add --show-prio option
      perf sched timehist: Add --prio option

Yang Li (1):
      perf parse-events: Remove duplicated include in parse-events.c

Yang Ruibin (1):
      perf bpf: Remove redundant check that map is NULL

Yicong Yang (1):
      perf stat: Display iostat headers correctly

Zixian Cai (1):
      perf script python: Add the 'ins_lat' field to event handler

 tools/build/Build                                  |    3 -
 tools/build/Makefile                               |   11 +-
 tools/build/Makefile.feature                       |    2 +-
 tools/build/Makefile.include                       |   12 +-
 tools/build/feature/Makefile                       |   11 +-
 tools/build/feature/test-all.c                     |    4 -
 tools/build/feature/test-llvm-perf.cpp             |   14 +
 tools/include/linux/coresight-pmu.h                |   17 +-
 tools/include/linux/string.h                       |    2 +
 tools/lib/api/Makefile                             |    4 -
 tools/lib/api/fs/tracing_path.c                    |    2 +-
 tools/lib/bpf/.gitignore                           |    1 +
 tools/lib/bpf/Makefile                             |   13 +-
 tools/lib/perf/.gitignore                          |    5 +
 tools/lib/string.c                                 |   13 +
 tools/lib/subcmd/Makefile                          |    6 +-
 tools/lib/subcmd/parse-options.c                   |    8 +-
 tools/lib/symbol/Makefile                          |    4 -
 tools/perf/Build                                   |    1 +
 tools/perf/Documentation/perf-annotate.txt         |    3 +
 tools/perf/Documentation/perf-check.txt            |   82 +
 tools/perf/Documentation/perf-ftrace.txt           |   48 +-
 tools/perf/Documentation/perf-kvm.txt              |    6 +-
 tools/perf/Documentation/perf-list.txt             |    1 +
 tools/perf/Documentation/perf-mem.txt              |   94 +-
 tools/perf/Documentation/perf-record.txt           |   14 +-
 tools/perf/Documentation/perf-report.txt           |    1 +
 tools/perf/Documentation/perf-sched.txt            |    9 +
 tools/perf/Documentation/perf-script.txt           |    5 +-
 tools/perf/Documentation/perf-stat.txt             |    8 +
 tools/perf/Documentation/perf-top.txt              |    4 +-
 tools/perf/Documentation/perf-trace.txt            |    4 +-
 tools/perf/Documentation/topdown.txt               |   30 +
 tools/perf/Makefile                                |    8 +-
 tools/perf/Makefile.config                         |   51 +-
 tools/perf/Makefile.perf                           |    6 +
 tools/perf/arch/arm/util/cs-etm.c                  |   12 +-
 tools/perf/arch/arm/util/pmu.c                     |    3 +
 tools/perf/arch/arm64/annotate/instructions.c      |    3 +-
 tools/perf/arch/arm64/util/arm-spe.c               |  108 +-
 tools/perf/arch/arm64/util/hisi-ptt.c              |    1 -
 tools/perf/arch/loongarch/annotate/instructions.c  |    6 +-
 tools/perf/arch/powerpc/annotate/instructions.c    |  254 ++
 tools/perf/arch/powerpc/util/dwarf-regs.c          |   53 +
 tools/perf/arch/s390/annotate/instructions.c       |    5 +-
 tools/perf/arch/x86/Makefile                       |    6 +-
 tools/perf/arch/x86/annotate/instructions.c        |  389 +++
 tools/perf/arch/x86/entry/syscalls/syscall_32.tbl  |  470 ++++
 tools/perf/arch/x86/util/event.c                   |    4 +-
 tools/perf/arch/x86/util/evlist.c                  |    6 +
 tools/perf/arch/x86/util/intel-bts.c               |    1 -
 tools/perf/arch/x86/util/intel-pt.c                |    1 -
 tools/perf/bench/synthesize.c                      |    2 +-
 tools/perf/builtin-annotate.c                      |   77 +-
 tools/perf/builtin-buildid-list.c                  |   10 +
 tools/perf/builtin-c2c.c                           |   47 +-
 tools/perf/builtin-check.c                         |  180 ++
 tools/perf/builtin-daemon.c                        |    2 +-
 tools/perf/builtin-diff.c                          |   38 +-
 tools/perf/builtin-evlist.c                        |   18 +-
 tools/perf/builtin-ftrace.c                        |  462 +++-
 tools/perf/builtin-help.c                          |    2 +-
 tools/perf/builtin-inject.c                        |  739 +++---
 tools/perf/builtin-kmem.c                          |   22 +-
 tools/perf/builtin-kvm.c                           |   22 +-
 tools/perf/builtin-kwork.c                         |   36 +-
 tools/perf/builtin-list.c                          |    2 +-
 tools/perf/builtin-lock.c                          |   44 +-
 tools/perf/builtin-mem.c                           |  161 +-
 tools/perf/builtin-record.c                        |   79 +-
 tools/perf/builtin-report.c                        |  106 +-
 tools/perf/builtin-sched.c                         |  232 +-
 tools/perf/builtin-script.c                        |  184 +-
 tools/perf/builtin-stat.c                          |   42 +-
 tools/perf/builtin-timechart.c                     |   25 +-
 tools/perf/builtin-top.c                           |   10 +-
 tools/perf/builtin-trace.c                         |  497 +++-
 tools/perf/builtin-version.c                       |   43 +-
 tools/perf/builtin.h                               |   17 +
 tools/perf/check-headers.sh                        |    1 +
 tools/perf/perf.c                                  |    1 +
 tools/perf/pmu-events/Build                        |   12 +-
 .../arch/arm64/ampere/ampereone/instruction.json   |    3 -
 .../yitian710/sys/ali_drw.json                     |    0
 .../yitian710/sys/metrics.json                     |    0
 .../pmu-events/arch/powerpc/power10/cache.json     |   20 +-
 .../arch/powerpc/power10/datasource.json           |   40 +
 .../pmu-events/arch/powerpc/power10/frontend.json  |   30 +
 .../pmu-events/arch/powerpc/power10/locks.json     |   10 +
 .../pmu-events/arch/powerpc/power10/memory.json    |   30 +
 .../pmu-events/arch/powerpc/power10/others.json    |  106 +-
 .../pmu-events/arch/powerpc/power10/pipeline.json  |   45 +
 .../perf/pmu-events/arch/powerpc/power10/pmc.json  |   10 +
 .../arch/x86/cascadelakex/uncore-cache.json        |   60 +-
 .../arch/x86/meteorlake/metricgroups.json          |  142 ++
 .../arch/x86/meteorlake/mtl-metrics.json           | 2535 ++++++++++++++++++++
 .../pmu-events/arch/x86/skylakex/uncore-cache.json |   60 +-
 .../arch/x86/snowridgex/uncore-cache.json          |   57 -
 tools/perf/pmu-events/empty-pmu-events.c           |  894 ++++---
 tools/perf/pmu-events/jevents.py                   |   27 +-
 tools/perf/pmu-events/models.py                    |   73 +
 tools/perf/pmu-events/pmu-events.h                 |    9 +
 tools/perf/scripts/python/arm-cs-trace-disasm.py   |    9 +-
 tools/perf/tests/bp_account.c                      |    4 +-
 tools/perf/tests/bp_signal.c                       |    3 +-
 tools/perf/tests/bp_signal_overflow.c              |    3 +-
 tools/perf/tests/builtin-test.c                    |    1 +
 tools/perf/tests/cpumap.c                          |    6 +-
 tools/perf/tests/dlfilter-test.c                   |    2 +-
 tools/perf/tests/dwarf-unwind.c                    |    2 +-
 tools/perf/tests/event_update.c                    |    9 +-
 tools/perf/tests/make                              |    4 +
 tools/perf/tests/parse-events.c                    |    6 +-
 tools/perf/tests/pmu-events.c                      |   12 +-
 tools/perf/tests/pmu.c                             |    9 +-
 tools/perf/tests/shell/annotate.sh                 |    3 +-
 tools/perf/tests/shell/base_probe/settings.sh      |   48 -
 .../shell/base_probe/test_adding_blacklisted.sh    |   67 +
 .../tests/shell/base_probe/test_adding_kernel.sh   |    3 -
 tools/perf/tests/shell/base_probe/test_basic.sh    |   80 +
 .../tests/shell/base_probe/test_invalid_options.sh |   79 +
 .../tests/shell/base_probe/test_line_semantics.sh  |   55 +
 tools/perf/tests/shell/base_report/setup.sh        |   32 +
 .../tests/shell/base_report/stderr-whitelist.txt   |    5 +
 tools/perf/tests/shell/base_report/test_basic.sh   |  190 ++
 .../tests/shell/common/check_errors_whitelisted.pl |   51 +
 tools/perf/tests/shell/common/init.sh              |   31 +-
 tools/perf/tests/shell/common/settings.sh          |   28 +-
 tools/perf/tests/shell/ftrace.sh                   |   89 +
 .../perf/tests/shell/lib/perf_metric_validation.py |   10 +-
 tools/perf/tests/shell/lib/probe_vfs_getname.sh    |   11 +-
 .../perf/tests/shell/perftool-testsuite_report.sh  |   23 +
 tools/perf/tests/shell/pipe_test.sh                |  129 +-
 .../tests/shell/record+probe_libc_inet_pton.sh     |    5 +-
 .../tests/shell/record+script_probe_vfs_getname.sh |    5 +-
 tools/perf/tests/shell/record.sh                   |   59 +-
 tools/perf/tests/shell/record_bpf_filter.sh        |   86 +-
 tools/perf/tests/shell/record_lbr.sh               |  161 ++
 tools/perf/tests/shell/script.sh                   |    3 +
 tools/perf/tests/shell/test_stat_intel_tpebs.sh    |   19 +
 tools/perf/tests/shell/test_task_analyzer.sh       |    7 +-
 .../tests/shell/test_uprobe_from_different_cu.sh   |    7 +
 tools/perf/tests/shell/trace_btf_enum.sh           |   62 +
 tools/perf/tests/stat.c                            |    6 +-
 tools/perf/tests/tests-scripts.c                   |   37 +-
 tools/perf/tests/tests.h                           |    1 +
 tools/perf/tests/thread-map.c                      |    2 +-
 tools/perf/tests/vmlinux-kallsyms.c                |    4 +-
 tools/perf/tests/workloads/Build                   |    1 +
 tools/perf/tests/workloads/landlock.c              |   66 +
 tools/perf/tests/wp.c                              |    5 +
 tools/perf/trace/beauty/beauty.h                   |   11 +
 tools/perf/trace/beauty/perf_event_open.c          |    6 +-
 tools/perf/trace/beauty/sockaddr.c                 |    2 +-
 tools/perf/trace/beauty/timespec.c                 |    2 +-
 tools/perf/ui/browsers/annotate-data.c             |  376 ++-
 tools/perf/ui/browsers/annotate.c                  |   20 +-
 tools/perf/ui/browsers/hists.c                     |   18 +-
 tools/perf/ui/hist.c                               |   10 +-
 tools/perf/ui/stdio/hist.c                         |    4 +-
 tools/perf/util/Build                              |   10 +-
 tools/perf/util/annotate-data.c                    | 1164 ++++-----
 tools/perf/util/annotate-data.h                    |   86 +-
 tools/perf/util/annotate.c                         |  360 ++-
 tools/perf/util/annotate.h                         |   33 +-
 tools/perf/util/arm-spe.c                          |   55 +-
 tools/perf/util/auxtrace.c                         |   16 +-
 tools/perf/util/auxtrace.h                         |   21 +-
 tools/perf/util/block-info.c                       |   66 +-
 tools/perf/util/block-info.h                       |    8 +-
 tools/perf/util/bpf-event.c                        |    4 +-
 tools/perf/util/bpf-filter.c                       |  631 ++++-
 tools/perf/util/bpf-filter.h                       |   19 +-
 tools/perf/util/bpf-filter.l                       |   28 +-
 tools/perf/util/bpf-filter.y                       |   28 +-
 tools/perf/util/bpf_counter_cgroup.c               |    6 +-
 tools/perf/util/bpf_ftrace.c                       |    8 +-
 tools/perf/util/bpf_kwork.c                        |    9 +-
 tools/perf/util/bpf_kwork_top.c                    |    7 +-
 tools/perf/util/bpf_lock_contention.c              |   45 +-
 tools/perf/util/bpf_map.c                          |    3 -
 tools/perf/util/bpf_off_cpu.c                      |   16 +-
 .../util/bpf_skel/augmented_raw_syscalls.bpf.c     |  222 +-
 tools/perf/util/bpf_skel/bperf_cgroup.bpf.c        |    2 +-
 tools/perf/util/bpf_skel/func_latency.bpf.c        |    7 +-
 tools/perf/util/bpf_skel/kwork_top.bpf.c           |    2 +-
 tools/perf/util/bpf_skel/kwork_trace.bpf.c         |    5 +-
 tools/perf/util/bpf_skel/lock_contention.bpf.c     |   53 +-
 tools/perf/util/bpf_skel/lock_data.h               |    4 +-
 tools/perf/util/bpf_skel/off_cpu.bpf.c             |    9 +-
 tools/perf/util/bpf_skel/sample-filter.h           |   13 +-
 tools/perf/util/bpf_skel/sample_filter.bpf.c       |  105 +-
 tools/perf/util/bpf_skel/vmlinux/vmlinux.h         |    7 +
 tools/perf/util/branch.h                           |    1 +
 tools/perf/util/build-id.c                         |   40 +-
 tools/perf/util/build-id.h                         |    8 +-
 tools/perf/util/callchain.c                        |   35 +
 tools/perf/util/callchain.h                        |    6 +
 tools/perf/util/cap.c                              |   63 +-
 tools/perf/util/cap.h                              |   23 +-
 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c    |   36 +-
 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h    |    2 +-
 tools/perf/util/cs-etm.c                           |  675 +++---
 tools/perf/util/cs-etm.h                           |   12 +-
 tools/perf/util/data-convert-bt.c                  |   34 +-
 tools/perf/util/data-convert-json.c                |   47 +-
 tools/perf/util/data.c                             |    7 +-
 tools/perf/util/debuginfo.h                        |    2 +
 tools/perf/util/disasm.c                           |  852 +++++--
 tools/perf/util/disasm.h                           |   19 +-
 tools/perf/util/disasm_bpf.c                       |  195 ++
 tools/perf/util/disasm_bpf.h                       |   12 +
 tools/perf/util/dso.c                              |    4 +-
 tools/perf/util/dso.h                              |    4 +-
 tools/perf/util/dsos.c                             |   12 +-
 tools/perf/util/dsos.h                             |    2 +-
 tools/perf/util/dump-insn.c                        |    2 +-
 tools/perf/util/dump-insn.h                        |    2 +-
 tools/perf/util/dwarf-aux.c                        |   18 +-
 tools/perf/util/dwarf-aux.h                        |    2 +
 tools/perf/util/env.c                              |   15 +
 tools/perf/util/env.h                              |    3 +
 tools/perf/util/event.c                            |   54 +-
 tools/perf/util/event.h                            |   38 +-
 tools/perf/util/events_stats.h                     |   15 +-
 tools/perf/util/evlist.c                           |   89 +-
 tools/perf/util/evlist.h                           |    7 +-
 tools/perf/util/evsel.c                            |  122 +-
 tools/perf/util/evsel.h                            |   27 +-
 tools/perf/util/evsel_fprintf.c                    |    2 -
 tools/perf/util/ftrace.h                           |    3 +
 tools/perf/util/header.c                           |  157 +-
 tools/perf/util/header.h                           |   25 +-
 tools/perf/util/hisi-ptt.c                         |    6 +-
 tools/perf/util/hist.c                             |   63 +-
 tools/perf/util/hist.h                             |    4 +-
 tools/perf/util/include/dwarf-regs.h               |   11 +
 tools/perf/util/intel-bts.c                        |   37 +-
 .../util/intel-pt-decoder/intel-pt-insn-decoder.c  |    5 +-
 tools/perf/util/intel-pt.c                         |   30 +-
 tools/perf/util/intel-tpebs.c                      |  432 ++++
 tools/perf/util/intel-tpebs.h                      |   35 +
 tools/perf/util/jit.h                              |    3 +-
 tools/perf/util/jitdump.c                          |   10 +-
 tools/perf/util/llvm-c-helpers.cpp                 |  197 ++
 tools/perf/util/llvm-c-helpers.h                   |   60 +
 tools/perf/util/machine.c                          |  120 +-
 tools/perf/util/machine.h                          |   36 +-
 tools/perf/util/map.c                              |   25 +-
 tools/perf/util/map.h                              |   22 +-
 tools/perf/util/map_symbol.c                       |   18 +
 tools/perf/util/map_symbol.h                       |    3 +
 tools/perf/util/mem-events.c                       |   20 +-
 tools/perf/util/mem-events.h                       |    4 +-
 tools/perf/util/mem-info.c                         |   13 +
 tools/perf/util/mem-info.h                         |    1 +
 tools/perf/util/metricgroup.c                      |   10 +-
 tools/perf/util/mmap.c                             |    4 -
 tools/perf/util/parse-events.c                     |   69 +-
 tools/perf/util/parse-events.h                     |   11 +-
 tools/perf/util/parse-events.l                     |    3 +-
 tools/perf/util/pmu.c                              |   75 +-
 tools/perf/util/pmu.h                              |    8 +-
 tools/perf/util/pmus.c                             |   22 +-
 tools/perf/util/pmus.h                             |    1 +
 tools/perf/util/print-events.c                     |    3 +-
 tools/perf/util/print_insn.c                       |   14 +-
 tools/perf/util/s390-cpumsf.c                      |   11 +-
 .../util/scripting-engines/trace-event-python.c    |   16 +-
 tools/perf/util/session.c                          |  394 +--
 tools/perf/util/session.h                          |   61 +-
 tools/perf/util/setup.py                           |    4 +-
 tools/perf/util/sort.c                             |   66 +-
 tools/perf/util/sort.h                             |    3 +-
 tools/perf/util/srcline.c                          |   59 +-
 tools/perf/util/stat-display.c                     |    3 +-
 tools/perf/util/stat-shadow.c                      |    2 +-
 tools/perf/util/symbol.c                           |    8 +-
 tools/perf/util/symbol_conf.h                      |    2 +-
 tools/perf/util/synthetic-events.c                 |  181 +-
 tools/perf/util/synthetic-events.h                 |   89 +-
 tools/perf/util/syscalltbl.c                       |    4 +
 tools/perf/util/thread.c                           |    4 +
 tools/perf/util/thread.h                           |    1 +
 tools/perf/util/time-utils.c                       |    4 +-
 tools/perf/util/tool.c                             |  294 +++
 tools/perf/util/tool.h                             |   19 +-
 tools/perf/util/trace_augment.h                    |    6 +
 tools/perf/util/tsc.c                              |    2 +-
 tools/perf/util/util.c                             |   12 +-
 290 files changed, 15177 insertions(+), 4249 deletions(-)
 delete mode 100644 tools/build/Build
 create mode 100644 tools/build/feature/test-llvm-perf.cpp
 create mode 100644 tools/lib/perf/.gitignore
 create mode 100644 tools/perf/Documentation/perf-check.txt
 create mode 100644 tools/perf/arch/x86/entry/syscalls/syscall_32.tbl
 create mode 100644 tools/perf/builtin-check.c
 rename tools/perf/pmu-events/arch/arm64/{freescale => thead}/yitian710/sys/ali_drw.json (100%)
 rename tools/perf/pmu-events/arch/arm64/{freescale => thead}/yitian710/sys/metrics.json (100%)
 create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/metricgroups.json
 create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/mtl-metrics.json
 create mode 100755 tools/perf/pmu-events/models.py
 delete mode 100644 tools/perf/tests/shell/base_probe/settings.sh
 create mode 100755 tools/perf/tests/shell/base_probe/test_adding_blacklisted.sh
 create mode 100755 tools/perf/tests/shell/base_probe/test_basic.sh
 create mode 100755 tools/perf/tests/shell/base_probe/test_invalid_options.sh
 create mode 100755 tools/perf/tests/shell/base_probe/test_line_semantics.sh
 create mode 100755 tools/perf/tests/shell/base_report/setup.sh
 create mode 100644 tools/perf/tests/shell/base_report/stderr-whitelist.txt
 create mode 100755 tools/perf/tests/shell/base_report/test_basic.sh
 create mode 100755 tools/perf/tests/shell/common/check_errors_whitelisted.pl
 create mode 100755 tools/perf/tests/shell/ftrace.sh
 create mode 100755 tools/perf/tests/shell/perftool-testsuite_report.sh
 create mode 100755 tools/perf/tests/shell/record_lbr.sh
 create mode 100755 tools/perf/tests/shell/test_stat_intel_tpebs.sh
 create mode 100755 tools/perf/tests/shell/trace_btf_enum.sh
 create mode 100644 tools/perf/tests/workloads/landlock.c
 create mode 100644 tools/perf/util/disasm_bpf.c
 create mode 100644 tools/perf/util/disasm_bpf.h
 create mode 100644 tools/perf/util/intel-tpebs.c
 create mode 100644 tools/perf/util/intel-tpebs.h
 create mode 100644 tools/perf/util/llvm-c-helpers.cpp
 create mode 100644 tools/perf/util/llvm-c-helpers.h
 create mode 100644 tools/perf/util/tool.c
 create mode 100644 tools/perf/util/trace_augment.h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ