Messages in this thread | | | Date | Tue, 28 Jan 2020 09:24:24 +0100 | From | Ingo Molnar <> | Subject | [GIT PULL] perf changes for v5.6 |
| |
Linus,
Please pull the latest perf-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-for-linus
# HEAD: 0cc4bd8f70d1ea2940295f1050508c663fe9eff9 Merge branch 'core/kprobes' into perf/core, to pick up fixes
Kernel side changes:
- Ftrace is one of the last W^X violators (after this only KLP is left). These patches move it over to the generic text_poke() interface and thereby get rid of this oddity. This requires a surprising amount of surgery, by Peter Zijlstra.
- x86/AMD PMUs: add support for 'Large Increment per Cycle Events' to count certain types of events that have a special, quirky hw ABI. (by Kim Phillips)
- kprobes fixes by Masami Hiramatsu
Lots of tooling updates as well, the following subcommands were updated: annotate/report/top, c2c, clang, record, report/top TUI, sched timehist, tests; plus updates were done to the gtk ui, libperf, headers and the parser. Please see the shortlog and git log for details.
Thanks,
Ingo
------------------> Alexey Budankov (3): tools bitmap: Implement bitmap_equal() operation at bitmap API perf mmap: Declare type for cpu mask of arbitrary length perf record: Adapt affinity to machines with #CPUs > 1K
Andi Kleen (2): perf report: Clarify in help that --children is default perf tools: Support --prefix/--prefix-strip
Andres Freund (1): perf c2c: Fix return type for histogram sorting comparision functions
Andrey Zhizhikin (1): tools lib api fs: Fix gcc9 stringop-truncation compilation error
Arnaldo Carvalho de Melo (12): perf tests bp_signal: Show expected versus obtained values perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc perf report/top: Make ENTER consistently bring up menu perf report/top: Add menu entry for toggling callchain expansion perf report/top: Improve toggle callchain menu option perf hists browser: Generalize the do_zoom_dso() function perf report/top: Add 'k' hotkey to zoom directly into the kernel map perf hists browser: Allow passing an initial hotkey tools ui popup: Allow returning hotkeys perf report/top: Allow pressing hotkeys in the options popup menu perf report/top: Do not offer annotation for symbols without samples perf report/top: Make 'e' visible in the help and make it toggle showing callchains
Borislav Petkov (1): x86/ftrace: Mark ftrace_modify_code_direct() __ref
Cengiz Can (1): perf beauty sockaddr: Fix augmented syscall format warning
David Ahern (1): perf sched timehist: Add support for filtering on CPU
Harry Pan (1): perf/x86/intel/rapl: Add Comet Lake support
Jin Yao (1): perf report: Fix no libunwind compiled warning break s390 issue
Jiri Olsa (6): libperf: Move to tools/lib/perf libperf: Add man pages libperf: Setup initial evlist::all_cpus value perf tools: Use %define api.pure full instead of %pure-parser perf ui gtk: Add missing zalloc object perf/ui/gtk: Fix gtk2 build
Kim Phillips (2): perf/x86/amd: Constrain Large Increment per Cycle events perf/x86/amd: Add support for Large Increment per Cycle Events
Maciej S. Szmigiero (2): perf clang: Fix build with Clang 9 tools build: Fix test-clang.cpp with Clang 8+
Masami Hiramatsu (3): x86/alternatives: Sync bp_patching update for avoiding NULL pointer exception kprobes: Set unoptimized flag after unoptimizing code kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic
Michael Petlan (1): perf header: Use last modification time for timestamp
Peter Zijlstra (17): x86/alternatives: Update int3_emulate_push() comment x86/alternatives, jump_label: Provide better text_poke() batching interface x86/alternatives: Add and use text_gen_insn() helper x86/ftrace: Use text_poke() x86/mm: Remove set_kernel_text_r[ow]() x86/alternative: Add text_opcode_size() x86/ftrace: Use text_gen_insn() x86/alternative: Remove text_poke_loc::len x86/alternative: Shrink text_poke_loc x86/kprobes: Convert to text-patching.h x86/kprobes: Fix ordering while text-patching arm/ftrace: Use __patch_text() module: Remove set_all_modules_text_*() ftrace: Rework event_create_dir() x86/kprobe: Add comments to arch_{,un}optimize_kprobes() x86/alternatives: Use INT3_INSN_SIZE x86/alternatives: Implement a better poke_int3_handler() completion scheme
Steven Rostedt (VMware) (1): tracing: Initialize ret in syscall_enter_define_fields()
Vitaly Chikunov (1): tools lib: Fix builds when glibc contains strlcpy()
arch/arm/kernel/Makefile | 4 +- arch/arm/kernel/ftrace.c | 10 +- arch/nds32/kernel/ftrace.c | 12 - arch/x86/events/amd/core.c | 109 +++- arch/x86/events/core.c | 74 ++- arch/x86/events/intel/rapl.c | 2 + arch/x86/events/perf_event.h | 20 + arch/x86/include/asm/ftrace.h | 2 - arch/x86/include/asm/kprobes.h | 14 +- arch/x86/include/asm/set_memory.h | 2 - arch/x86/include/asm/text-patching.h | 86 ++- arch/x86/kernel/alternative.c | 198 ++++-- arch/x86/kernel/ftrace.c | 688 ++++----------------- arch/x86/kernel/jump_label.c | 116 ++-- arch/x86/kernel/kprobes/core.c | 20 +- arch/x86/kernel/kprobes/opt.c | 67 +- arch/x86/kernel/traps.c | 9 - arch/x86/mm/init_32.c | 28 - arch/x86/mm/init_64.c | 36 -- drivers/infiniband/hw/hfi1/trace_tid.h | 8 +- drivers/infiniband/hw/hfi1/trace_tx.h | 2 +- drivers/lightnvm/pblk-trace.h | 8 +- drivers/net/fjes/fjes_trace.h | 2 +- drivers/net/wireless/ath/ath10k/trace.h | 6 +- fs/xfs/scrub/trace.h | 6 +- fs/xfs/xfs_trace.h | 4 +- include/linux/module.h | 4 - include/linux/trace_events.h | 18 +- include/trace/events/filemap.h | 2 +- include/trace/trace_events.h | 64 +- kernel/kprobes.c | 71 ++- kernel/module.c | 43 -- kernel/trace/trace.h | 31 +- kernel/trace/trace_entries.h | 66 +- kernel/trace/trace_events.c | 20 +- kernel/trace/trace_events_hist.c | 8 +- kernel/trace/trace_export.c | 106 ++-- kernel/trace/trace_kprobe.c | 16 +- kernel/trace/trace_syscalls.c | 51 +- kernel/trace/trace_uprobe.c | 9 +- net/mac80211/trace.h | 28 +- net/wireless/trace.h | 6 +- tools/build/feature/Makefile | 2 +- tools/build/feature/test-clang.cpp | 6 + tools/include/linux/bitmap.h | 30 + tools/include/linux/string.h | 8 + tools/lib/api/fs/fs.c | 4 +- tools/lib/bitmap.c | 15 + tools/{perf/lib => lib/perf}/Build | 0 tools/lib/perf/Documentation/Makefile | 156 +++++ tools/lib/perf/Documentation/asciidoc.conf | 120 ++++ tools/lib/perf/Documentation/examples/sampling.c | 119 ++++ tools/lib/perf/Documentation/libperf-counting.txt | 211 +++++++ tools/lib/perf/Documentation/libperf-sampling.txt | 243 ++++++++ tools/lib/perf/Documentation/libperf.txt | 246 ++++++++ tools/lib/perf/Documentation/manpage-1.72.xsl | 14 + tools/lib/perf/Documentation/manpage-base.xsl | 35 ++ .../perf/Documentation/manpage-bold-literal.xsl | 17 + tools/lib/perf/Documentation/manpage-normal.xsl | 13 + .../lib/perf/Documentation/manpage-suppress-sp.xsl | 21 + tools/{perf/lib => lib/perf}/Makefile | 7 +- tools/{perf/lib => lib/perf}/core.c | 0 tools/{perf/lib => lib/perf}/cpumap.c | 0 tools/{perf/lib => lib/perf}/evlist.c | 3 + tools/{perf/lib => lib/perf}/evsel.c | 0 .../lib => lib/perf}/include/internal/cpumap.h | 0 .../lib => lib/perf}/include/internal/evlist.h | 0 .../lib => lib/perf}/include/internal/evsel.h | 0 .../{perf/lib => lib/perf}/include/internal/lib.h | 0 .../{perf/lib => lib/perf}/include/internal/mmap.h | 0 .../lib => lib/perf}/include/internal/tests.h | 0 .../lib => lib/perf}/include/internal/threadmap.h | 0 .../lib => lib/perf}/include/internal/xyarray.h | 0 tools/{perf/lib => lib/perf}/include/perf/core.h | 0 tools/{perf/lib => lib/perf}/include/perf/cpumap.h | 0 tools/{perf/lib => lib/perf}/include/perf/event.h | 0 tools/{perf/lib => lib/perf}/include/perf/evlist.h | 0 tools/{perf/lib => lib/perf}/include/perf/evsel.h | 0 tools/{perf/lib => lib/perf}/include/perf/mmap.h | 0 .../lib => lib/perf}/include/perf/threadmap.h | 0 tools/{perf/lib => lib/perf}/internal.h | 0 tools/{perf/lib => lib/perf}/lib.c | 0 tools/{perf/lib => lib/perf}/libperf.map | 0 tools/{perf/lib => lib/perf}/libperf.pc.template | 0 tools/{perf/lib => lib/perf}/mmap.c | 0 tools/{perf/lib => lib/perf}/tests/Makefile | 2 +- tools/{perf/lib => lib/perf}/tests/test-cpumap.c | 0 tools/{perf/lib => lib/perf}/tests/test-evlist.c | 0 tools/{perf/lib => lib/perf}/tests/test-evsel.c | 0 .../{perf/lib => lib/perf}/tests/test-threadmap.c | 0 tools/{perf/lib => lib/perf}/threadmap.c | 0 tools/{perf/lib => lib/perf}/xyarray.c | 0 tools/lib/string.c | 7 + tools/perf/Documentation/perf-annotate.txt | 6 + tools/perf/Documentation/perf-report.txt | 6 + tools/perf/Documentation/perf-sched.txt | 4 + tools/perf/Documentation/perf-top.txt | 6 + tools/perf/MANIFEST | 1 + tools/perf/Makefile.config | 2 +- tools/perf/Makefile.perf | 2 +- tools/perf/builtin-annotate.c | 7 + tools/perf/builtin-c2c.c | 14 +- tools/perf/builtin-record.c | 28 +- tools/perf/builtin-report.c | 16 +- tools/perf/builtin-sched.c | 13 + tools/perf/builtin-top.c | 7 + tools/perf/lib/Documentation/Makefile | 7 - tools/perf/lib/Documentation/man/libperf.rst | 100 --- tools/perf/lib/Documentation/tutorial/tutorial.rst | 123 ---- tools/perf/tests/bp_signal.c | 10 +- tools/perf/trace/beauty/sockaddr.c | 2 +- tools/perf/ui/browsers/hists.c | 277 ++++++--- tools/perf/ui/browsers/hists.h | 2 +- tools/perf/ui/browsers/res_sample.c | 2 +- tools/perf/ui/browsers/scripts.c | 2 +- tools/perf/ui/gtk/Build | 7 +- tools/perf/ui/tui/util.c | 12 +- tools/perf/ui/util.h | 2 +- tools/perf/util/annotate.c | 19 +- tools/perf/util/annotate.h | 5 + tools/perf/util/c++/clang.cpp | 4 + tools/perf/util/expr.y | 3 +- tools/perf/util/header.c | 2 +- tools/perf/util/mmap.c | 40 +- tools/perf/util/mmap.h | 13 +- tools/perf/util/parse-events.y | 2 +- tools/perf/util/sort.c | 3 +- tools/perf/util/sort.h | 2 + 128 files changed, 2515 insertions(+), 1591 deletions(-) rename tools/{perf/lib => lib/perf}/Build (100%) create mode 100644 tools/lib/perf/Documentation/Makefile create mode 100644 tools/lib/perf/Documentation/asciidoc.conf create mode 100644 tools/lib/perf/Documentation/examples/sampling.c create mode 100644 tools/lib/perf/Documentation/libperf-counting.txt create mode 100644 tools/lib/perf/Documentation/libperf-sampling.txt create mode 100644 tools/lib/perf/Documentation/libperf.txt create mode 100644 tools/lib/perf/Documentation/manpage-1.72.xsl create mode 100644 tools/lib/perf/Documentation/manpage-base.xsl create mode 100644 tools/lib/perf/Documentation/manpage-bold-literal.xsl create mode 100644 tools/lib/perf/Documentation/manpage-normal.xsl create mode 100644 tools/lib/perf/Documentation/manpage-suppress-sp.xsl rename tools/{perf/lib => lib/perf}/Makefile (96%) rename tools/{perf/lib => lib/perf}/core.c (100%) rename tools/{perf/lib => lib/perf}/cpumap.c (100%) rename tools/{perf/lib => lib/perf}/evlist.c (99%) rename tools/{perf/lib => lib/perf}/evsel.c (100%) rename tools/{perf/lib => lib/perf}/include/internal/cpumap.h (100%) rename tools/{perf/lib => lib/perf}/include/internal/evlist.h (100%) rename tools/{perf/lib => lib/perf}/include/internal/evsel.h (100%) rename tools/{perf/lib => lib/perf}/include/internal/lib.h (100%) rename tools/{perf/lib => lib/perf}/include/internal/mmap.h (100%) rename tools/{perf/lib => lib/perf}/include/internal/tests.h (100%) rename tools/{perf/lib => lib/perf}/include/internal/threadmap.h (100%) rename tools/{perf/lib => lib/perf}/include/internal/xyarray.h (100%) rename tools/{perf/lib => lib/perf}/include/perf/core.h (100%) rename tools/{perf/lib => lib/perf}/include/perf/cpumap.h (100%) rename tools/{perf/lib => lib/perf}/include/perf/event.h (100%) rename tools/{perf/lib => lib/perf}/include/perf/evlist.h (100%) rename tools/{perf/lib => lib/perf}/include/perf/evsel.h (100%) rename tools/{perf/lib => lib/perf}/include/perf/mmap.h (100%) rename tools/{perf/lib => lib/perf}/include/perf/threadmap.h (100%) rename tools/{perf/lib => lib/perf}/internal.h (100%) rename tools/{perf/lib => lib/perf}/lib.c (100%) rename tools/{perf/lib => lib/perf}/libperf.map (100%) rename tools/{perf/lib => lib/perf}/libperf.pc.template (100%) rename tools/{perf/lib => lib/perf}/mmap.c (100%) rename tools/{perf/lib => lib/perf}/tests/Makefile (93%) rename tools/{perf/lib => lib/perf}/tests/test-cpumap.c (100%) rename tools/{perf/lib => lib/perf}/tests/test-evlist.c (100%) rename tools/{perf/lib => lib/perf}/tests/test-evsel.c (100%) rename tools/{perf/lib => lib/perf}/tests/test-threadmap.c (100%) rename tools/{perf/lib => lib/perf}/threadmap.c (100%) rename tools/{perf/lib => lib/perf}/xyarray.c (100%) delete mode 100644 tools/perf/lib/Documentation/Makefile delete mode 100644 tools/perf/lib/Documentation/man/libperf.rst delete mode 100644 tools/perf/lib/Documentation/tutorial/tutorial.rst
| |