• Linus Torvalds's avatar
    Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d9420f1
    Linus Torvalds authored
    Pull perf updates from Ingo Molnar:
     "Kernel side updates:
    
       - Fix and enhance poll support (Jiri Olsa)
    
       - Re-enable inheritance optimization (Jiri Olsa)
    
       - Enhance Intel memory events support (Stephane Eranian)
    
       - Refactor the Intel uncore driver to be more maintainable (Zheng
         Yan)
    
       - Enhance and fix Intel CPU and uncore PMU drivers (Peter Zijlstra,
         Andi Kleen)
    
       - [ plus various smaller fixes/cleanups ]
    
      User visible tooling updates:
    
       - Add +field argument support for --field option, so that one can add
         fields to the default list of fields to show, ie now one can just
         do:
    
             perf report --fields +pid
    
         And the pid will appear in addition to the default fields (Jiri
         Olsa)
    
       - Add +field argument support for --sort option (Jiri Olsa)
    
       - Honour -w in the report tools (report, top), allowing to specify
         the widths for the histogram entries columns (Namhyung Kim)
    
       - Properly show submicrosecond times in 'perf kvm stat' (Christian
         Borntraeger)
    
       - Add beautifier for mremap flags param in 'trace' (Alex Snast)
    
       - perf script: Allow callchains if any event samples them
    
       - Don't truncate Intel style addresses in 'annotate' (Alex Converse)
    
       - Allow profiling when kptr_restrict == 1 for non root users, kernel
         samples will just remain unresolved (Andi Kleen)
    
       - Allow configuring default options for callchains in config file
         (Namhyung Kim)
    
       - Support operations for shared futexes.  (Davidlohr Bueso)
    
       - "perf kvm stat report" improvements by Alexander Yarygin:
           -  Save pid string in opts.target.pid
           -  Enable the target.system_wide flag
           -  Unify the title bar output
    
       - [ plus lots of other fixes and small improvements.  ]
    
      Tooling infrastructure changes:
    
       - Refactor unit and scale function parameters for PMU parsing
         routines (Matt Fleming)
    
       - Improve DSO long names lookup with rbtree, resulting in great
         speedup for workloads with lots of DSOs (Waiman Long)
    
       - We were not handling POLLHUP notifications for event file
         descriptors
    
         Fix it by filtering entries in the events file descriptor array
         after poll() returns, refcounting mmaps so that when the last fd
         pointing to a perf mmap goes away we do the unmap (Arnaldo Carvalho
         de Melo)
    
       - Intel PT prep work, from Adrian Hunter, including:
           - Let a user specify a PMU event without any config terms
           - Add perf-with-kcore script
           - Let default config be defined for a PMU
           - Add perf_pmu__scan_file()
           - Add a 'perf test' for tracking with sched_switch
           - Add 'flush' callback to scripting API
    
       - Use ring buffer consume method to look like other tools (Arnaldo
         Carvalho de Melo)
    
       - hists browser (used in top and report) refactorings, getting rid of
         unused variables and reducing source code size by handling similar
         cases in a fewer functions (Namhyung Kim).
    
       - Replace thread unsafe strerror() with strerror_r() accross the
         whole tools/perf/ tree (Masami Hiramatsu)
    
       - Rename ordered_samples to ordered_events and allow setting a queue
         size for ordering events (Jiri Olsa)
    
       - [ plus lots of fixes, cleanups and other improvements ]"
    
    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (198 commits)
      perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment
      perf/x86/intel/uncore: Fix minor race in box set up
      perf record: Fix error message for --filter option not coming after tracepoint
      perf tools: Fix build breakage on arm64 targets
      perf symbols: Improve DSO long names lookup speed with rbtree
      perf symbols: Encapsulate dsos list head into struct dsos
      perf bench futex: Sanitize -q option in requeue
      perf bench futex: Support operations for shared futexes
      perf trace: Fix mmap return address truncation to 32-bit
      perf tools: Refactor unit and scale function parameters
      perf tools: Fix line number in the config file error message
      perf tools: Convert {record,top}.call-graph option to call-graph.record-mode
      perf tools: Introduce perf_callchain_config()
      perf callchain: Move some parser functions to callchain.c
      perf tools: Move callchain config from record_opts to callchain_param
      perf hists browser: Fix callchain print bug on TUI
      perf tools: Use ACCESS_ONCE() instead of volatile cast
      perf tools: Modify error code for when perf_session__new() fails
      perf tools: Fix perf record as non root with kptr_restrict == 1
      perf stat: Fix --per-core on multi socket systems
      ...
    9d9420f1
core.c 193 KB