)]}'
{
  "commit": "b02ac6b18cd4e2c76bf0a102c20c429b973f5f76",
  "tree": "87b3648f448627d61cb9ba32511584d6318b7bb6",
  "parents": [
    "105ff3cbf225036b75a6a46c96d1ddce8e7bdc66",
    "bebd23a2ed31d47e7dd746d3b125068aa2c42d85"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Nov 03 17:38:09 2015 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Nov 03 17:38:09 2015 -0800"
  },
  "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates from Ingo Molnar:\n \"Kernel side changes:\n\n   - Improve accuracy of perf/sched clock on x86.  (Adrian Hunter)\n\n   - Intel DS and BTS updates.  (Alexander Shishkin)\n\n   - Intel cstate PMU support.  (Kan Liang)\n\n   - Add group read support to perf_event_read().  (Peter Zijlstra)\n\n   - Branch call hardware sampling support, implemented on x86 and\n     PowerPC.  (Stephane Eranian)\n\n   - Event groups transactional interface enhancements.  (Sukadev\n     Bhattiprolu)\n\n   - Enable proper x86/intel/uncore PMU support on multi-segment PCI\n     systems.  (Taku Izumi)\n\n   - ... misc fixes and cleanups.\n\n  The perf tooling team was very busy again with 200+ commits, the full\n  diff doesn\u0027t fit into lkml size limits.  Here\u0027s an (incomplete) list\n  of the tooling highlights:\n\n  New features:\n\n   - Change the default event used in all tools (record/top): use the\n     most precise \"cycles\" hw counter available, i.e. when the user\n     doesn\u0027t specify any event, it will try using cycles:ppp, cycles:pp,\n     etc and fall back transparently until it finds a working counter.\n     (Arnaldo Carvalho de Melo)\n\n   - Integration of perf with eBPF that, given an eBPF .c source file\n     (or .o file built for the \u0027bpf\u0027 target with clang), will get it\n     automatically built, validated and loaded into the kernel via the\n     sys_bpf syscall, which can then be used and seen using \u0027perf trace\u0027\n     and other tools.\n\n     (Wang Nan)\n\n  Various user interface improvements:\n\n   - Automatic pager invocation on long help output.  (Namhyung Kim)\n\n   - Search for more options when passing args to -h, e.g.: (Arnaldo\n     Carvalho de Melo)\n\n        $ perf report -h interface\n\n        Usage: perf report [\u003coptions\u003e]\n\n         --gtk    Use the GTK2 interface\n         --stdio  Use the stdio interface\n         --tui    Use the TUI interface\n\n   - Show ordered command line options when -h is used or when an\n     unknown option is specified.  (Arnaldo Carvalho de Melo)\n\n   - If options are passed after -h, show just its descriptions, not all\n     options.  (Arnaldo Carvalho de Melo)\n\n   - Implement column based horizontal scrolling in the hists browser\n     (top, report), making it possible to use the TUI for things like\n     \u0027perf mem report\u0027 where there are many more columns than can fit in\n     a terminal.  (Arnaldo Carvalho de Melo)\n\n   - Enhance the error reporting of tracepoint event parsing, e.g.:\n\n       $ oldperf record -e sched:sched_switc usleep 1\n       event syntax error: \u0027sched:sched_switc\u0027\n                            \\___ unknown tracepoint\n       Run \u0027perf list\u0027 for a list of valid events\n\n     Now we get the much nicer:\n\n       $ perf record -e sched:sched_switc ls\n       event syntax error: \u0027sched:sched_switc\u0027\n                            \\___ can\u0027t access trace events\n\n       Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_switc\n       Hint:  Try \u0027sudo mount -o remount,mode\u003d755 /sys/kernel/debug\u0027\n\n     And after we have those mount point permissions fixed:\n\n       $ perf record -e sched:sched_switc ls\n       event syntax error: \u0027sched:sched_switc\u0027\n                            \\___ unknown tracepoint\n\n       Error: File /sys/kernel/debug/tracing/events/sched/sched_switc not found.\n       Hint:  Perhaps this kernel misses some CONFIG_ setting to enable this feature?.\n\n     I.e.  basically now the event parsing routing uses the strerror_open()\n     routines introduced by and used in \u0027perf trace\u0027 work.  (Jiri Olsa)\n\n   - Fail properly when pattern matching fails to find a tracepoint,\n     i.e. \u0027-e non:existent\u0027 was being correctly handled, with a proper\n     error message about that not being a valid event, but \u0027-e\n     non:existent*\u0027 wasn\u0027t, fix it.  (Jiri Olsa)\n\n   - Do event name substring search as last resort in \u0027perf list\u0027.\n     (Arnaldo Carvalho de Melo)\n\n     E.g.:\n\n       # perf list clock\n\n       List of pre-defined events (to be used in -e):\n\n        cpu-clock                                          [Software event]\n        task-clock                                         [Software event]\n\n        uncore_cbox_0/clockticks/                          [Kernel PMU event]\n        uncore_cbox_1/clockticks/                          [Kernel PMU event]\n\n        kvm:kvm_pvclock_update                             [Tracepoint event]\n        kvm:kvm_update_master_clock                        [Tracepoint event]\n        power:clock_disable                                [Tracepoint event]\n        power:clock_enable                                 [Tracepoint event]\n        power:clock_set_rate                               [Tracepoint event]\n        syscalls:sys_enter_clock_adjtime                   [Tracepoint event]\n        syscalls:sys_enter_clock_getres                    [Tracepoint event]\n        syscalls:sys_enter_clock_gettime                   [Tracepoint event]\n        syscalls:sys_enter_clock_nanosleep                 [Tracepoint event]\n        syscalls:sys_enter_clock_settime                   [Tracepoint event]\n        syscalls:sys_exit_clock_adjtime                    [Tracepoint event]\n        syscalls:sys_exit_clock_getres                     [Tracepoint event]\n        syscalls:sys_exit_clock_gettime                    [Tracepoint event]\n        syscalls:sys_exit_clock_nanosleep                  [Tracepoint event]\n        syscalls:sys_exit_clock_settime                    [Tracepoint event]\n\n  Intel PT hardware tracing enhancements:\n\n   - Accept a zero --itrace period, meaning \"as often as possible\".  In\n     the case of Intel PT that is the same as a period of 1 and a unit\n     of \u0027instructions\u0027 (i.e.  --itrace\u003di1i).  (Adrian Hunter)\n\n   - Harmonize itrace\u0027s synthesized callchains with the existing\n     --max-stack tool option.  (Adrian Hunter)\n\n   - Allow time to be displayed in nanoseconds in \u0027perf script\u0027.\n     (Adrian Hunter)\n\n   - Fix potential infinite loop when handling Intel PT timestamps.\n     (Adrian Hunter)\n\n   - Slighly improve Intel PT debug logging.  (Adrian Hunter)\n\n   - Warn when AUX data has been lost, just like when processing\n     PERF_RECORD_LOST.  (Adrian Hunter)\n\n   - Further document export-to-postgresql.py script.  (Adrian Hunter)\n\n   - Add option to synthesize branch stack from auxtrace data.  (Adrian\n     Hunter)\n\n  Misc notable changes:\n\n   - Switch the default callchain output mode to \u0027graph,0.5,caller\u0027, to\n     make it look like the default for other tools, reducing the\n     learning curve for people used to \u0027caller\u0027 based viewing.  (Arnaldo\n     Carvalho de Melo)\n\n   - various call chain usability enhancements.  (Namhyung Kim)\n\n   - Introduce the \u0027P\u0027 event modifier, meaning \u0027max precision level,\n     please\u0027, i.e.:\n\n        $ perf record -e cycles:P usleep 1\n\n     Is now similar to:\n\n        $ perf record usleep 1\n\n     Useful, for instance, when specifying multiple events.  (Jiri Olsa)\n\n   - Add \u0027socket\u0027 sort entry, to sort by the processor socket in \u0027perf\n     top\u0027 and \u0027perf report\u0027.  (Kan Liang)\n\n   - Introduce --socket-filter to \u0027perf report\u0027, for filtering by\n     processor socket.  (Kan Liang)\n\n   - Add new \"Zoom into Processor Socket\" operation in the perf hists\n     browser, used in \u0027perf top\u0027 and \u0027perf report\u0027.  (Kan Liang)\n\n   - Allow probing on kmodules without DWARF.  (Masami Hiramatsu)\n\n   - Fix \u0027perf probe -l\u0027 for probes added to kernel module functions.\n     (Masami Hiramatsu)\n\n   - Preparatory work for the \u0027perf stat record\u0027 feature that will allow\n     generating perf.data files with counting data in addition to the\n     sampling mode we have now (Jiri Olsa)\n\n   - Update libtraceevent KVM plugin.  (Paolo Bonzini)\n\n   - ... plus lots of other enhancements that I failed to list properly,\n     by: Adrian Hunter, Alexander Shishkin, Andi Kleen, Andrzej Hajda,\n     Arnaldo Carvalho de Melo, Dima Kogan, Don Zickus, Geliang Tang, He\n     Kuang, Huaitong Han, Ingo Molnar, Jan Stancek, Jiri Olsa, Kan\n     Liang, Kirill Tkhai, Masami Hiramatsu, Matt Fleming, Namhyung Kim,\n     Paolo Bonzini, Peter Zijlstra, Rabin Vincent, Scott Wood, Stephane\n     Eranian, Sukadev Bhattiprolu, Taku Izumi, Vaishali Thakkar, Wang\n     Nan, Yang Shi and Yunlong Song\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (260 commits)\n  perf unwind: Pass symbol source to libunwind\n  tools build: Fix libiberty feature detection\n  perf tools: Compile scriptlets to BPF objects when passing \u0027.c\u0027 to --event\n  perf record: Add clang options for compiling BPF scripts\n  perf bpf: Attach eBPF filter to perf event\n  perf tools: Make sure fixdep is built before libbpf\n  perf script: Enable printing of branch stack\n  perf trace: Add cmd string table to decode sys_bpf first arg\n  perf bpf: Collect perf_evsel in BPF object files\n  perf tools: Load eBPF object into kernel\n  perf tools: Create probe points for BPF programs\n  perf tools: Enable passing bpf object file to --event\n  perf ebpf: Add the libbpf glue\n  perf tools: Make perf depend on libbpf\n  perf symbols: Fix endless loop in dso__split_kallsyms_for_kcore\n  perf tools: Enable pre-event inherit setting by config terms\n  perf symbols: we can now read separate debug-info files based on a build ID\n  perf symbols: Fix type error when reading a build-id\n  perf tools: Search for more options when passing args to -h\n  perf stat: Cache aggregated map entries in extra cpumap\n  ...\n",
  "tree_diff": []
}
