• Thomas Gleixner's avatar
    Merge tag 'perf-core-for-mingo-5.1-20190311' of... · 4a98be82
    Thomas Gleixner authored
    Merge tag 'perf-core-for-mingo-5.1-20190311' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/core improvements and fixes from Arnaldo:
    
    kernel:
    
      Stephane Eranian :
    
      - Restore mmap record type correctly when handling PERF_RECORD_MMAP2
        events, as the same template is used for all the threads interested
        in mmap events, some may want just PERF_RECORD_MMAP, while some
        may want the extra info in MMAP2 records.
    
    perf probe:
    
      Adrian Hunter:
    
      - Fix getting the kernel map, because since changes related to x86 PTI
        entry trampolines handling, there are more than one kernel map.
    
    perf script:
    
      Andi Kleen:
    
      - Support insn output for normal samples, i.e.:
    
        perf script -F ip,sym,insn --xed
    
        Will fetch the sample IP from the thread address space and feed it
        to Intel's XED disassembler, producing lines such as:
    
          ffffffffa4068804 native_write_msr            wrmsr
          ffffffffa415b95e __hrtimer_next_event_base   movq  0x18(%rax), %rdx
    
        That match 'perf annotate's output.
    
      - Make the --cpu filter apply to  PERF_RECORD_COMM/FORK/... events, in
        addition to PERF_RECORD_SAMPLE.
    
    perf report:
    
      - Add a new --samples option to save a small random number of samples
        per hist entry, using a reservoir technique to select a representative
        number of samples.
    
        Then allow browsing the samples using 'perf script' as part of the hist
        entry context menu. This automatically adds the right filters, so only
        the thread or CPU of the sample is displayed. Then we use less' search
        functionality to directly jump to the time stamp of the selected sample.
    
        It uses different menus for assembler and source display.  Assembler
        needs xed installed and source needs debuginfo.
    
      - Fix the UI browser scripts pop up menu when there are many scripts
        available.
    
    perf report:
    
      Andi Kleen:
    
      - Add 'time' sort option. E.g.:
    
        % perf report --sort time,overhead,symbol --time-quantum 1ms --stdio
        ...
             0.67%  277061.87300  [.] _dl_start
             0.50%  277061.87300  [.] f1
             0.50%  277061.87300  [.] f2
             0.33%  277061.87300  [.] main
             0.29%  277061.87300  [.] _dl_lookup_symbol_x
             0.29%  277061.87300  [.] dl_main
             0.29%  277061.87300  [.] do_lookup_x
             0.17%  277061.87300  [.] _dl_debug_initialize
             0.17%  277061.87300  [.] _dl_init_paths
             0.08%  277061.87300  [.] check_match
             0.04%  277061.87300  [.] _dl_count_modids
             1.33%  277061.87400  [.] f1
             1.33%  277061.87400  [.] f2
             1.33%  277061.87400  [.] main
             1.17%  277061.87500  [.] main
             1.08%  277061.87500  [.] f1
             1.08%  277061.87500  [.] f2
             1.00%  277061.87600  [.] main
             0.83%  277061.87600  [.] f1
             0.83%  277061.87600  [.] f2
             1.00%  277061.87700  [.] main
    
    tools headers:
    
      Arnaldo Carvalho de Melo:
    
      - Update x86's syscall_64.tbl, no change in tools/perf behaviour.
    
      -  Sync copies asm-generic/unistd.h and linux/in with the kernel sources.
    
    perf data:
    
      Jiri Olsa:
    
      - Prep work to support having perf.data stored as a directory, with one
        file per CPU, that ultimately will allow having one ring buffer reading
        thread per CPU.
    
    Vendor events:
    
      Martin Liška:
    
      - perf PMU events for AMD Family 17h.
    
    perf script python:
    
      Tony Jones:
    
      - Add python3 support for the remaining Intel PT related scripts, with
        these we should have a clean build of perf with python3 while still
        supporting the build with python2.
    
    libbpf:
    
      Arnaldo Carvalho de Melo:
    
      - Fix the build on uCLibc, adding the missing stdarg.h since we use
        va_list in one typedef.
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    4a98be82
core.c 286 KB