# git rev-parse -q --verify 29c73fc794c83505066ee6db893b2a83ac5fac63^{commit} 29c73fc794c83505066ee6db893b2a83ac5fac63 already have revision, skipping fetch # git checkout -q -f -B kisskb 29c73fc794c83505066ee6db893b2a83ac5fac63 # git clean -qxdf # < git log -1 # commit 29c73fc794c83505066ee6db893b2a83ac5fac63 # Merge: 4865a27c66fd ea558c86248b # Author: Linus Torvalds # Date: Tue May 21 15:45:14 2024 -0700 # # Merge tag 'perf-tools-for-v6.10-1-2024-05-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools # # Pull perf tools updates from Arnaldo Carvalho de Melo: # "General: # # - 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 # # - 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 # # 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" # # * tag 'perf-tools-for-v6.10-1-2024-05-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (260 commits) # tools lib subcmd: Show parent options in help # perf pmu: Count sys and cpuid JSON events separately # perf stat: Don't display metric header for non-leader uncore events # perf annotate-data: Ensure the number of type histograms # perf annotate: Fix segfault on sample histogram # perf daemon: Fix file leak in daemon_session__control # libsubcmd: Fix parse-options memory leak # perf lock: Avoid memory leaks from strdup() # perf sched: Rename 'switches' column header to 'count' and add usage description, options for latency # perf tools: Ignore deleted cgroups # perf parse: Allow tracepoint names to start with digits # perf parse-events: Add new 'fake_tp' parameter for tests # perf parse-events: pass parse_state to add_tracepoint # perf symbols: Fix ownership of string in dso__load_vmlinux() # perf symbols: Update kcore map before merging in remaining symbols # perf maps: Re-use __maps__free_maps_by_name() # perf symbols: Remove map from list before updating addresses # perf tracepoint: Don't scan all tracepoints to test if one exists # perf dwarf-aux: Fix build with HAVE_DWARF_CFI_SUPPORT # perf thread: Fixes to thread__new() related to initializing comm # ... # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 29c73fc794c83505066ee6db893b2a83ac5fac63 # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_g5_defconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- g5_defconfig # < make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_g5_defconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_g5_defconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_g5_defconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- Completed OK # rm -rf /kisskb/build/linus_g5_defconfig_powerpc-gcc11 # Build took: 0:01:23.654045