lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Tue, 3 Nov 2015 11:02:10 +0100
From:	Ingo Molnar <mingo@...nel.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Arnaldo Carvalho de Melo <acme@...radead.org>,
	Thomas Gleixner <tglx@...utronix.de>,
	Jiri Olsa <jolsa@...hat.com>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] perf changes for v4.4

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: bebd23a2ed31d47e7dd746d3b125068aa2c42d85 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core

Kernel side changes:

    - Improve accuracy of perf/sched clock on x86. (Adrian Hunter)

    - Intel DS and BTS updates. (Alexander Shishkin)

    - Intel cstate PMU support. (Kan Liang)

    - Add group read support to perf_event_read(). (Peter Zijlstra)

    - Branch call hardware sampling support, implemented on x86 and PowerPC.
      (Stephane Eranian)

    - Event groups transactional interface enhancements. (Sukadev Bhattiprolu)

    - Enable proper x86/intel/uncore PMU support on multi-segment PCI systems.
      (Taku Izumi)

    - ... misc fixes and cleanups.

The perf tooling team was very busy again with 200+ commits, the full diff doesn't 
fit into lkml size limits. Here's an (incomplete) list of the tooling highlights:

  New features:

    - Change the default event used in all tools (record/top): use the most precise "cycles"
      hw counter available, i.e.  when the user doesn't specify any event, it will try using
      cycles:ppp, cycles:pp, etc. and fall back transparently until it finds a working
      counter. (Arnaldo Carvalho de Melo)

    - Integration of perf with eBPF that, given an eBPF .c source file (or .o file
      built for the 'bpf' target with clang), will get it automatically built, validated
      and loaded into the kernel via the sys_bpf syscall, which can then be used and seen
      using 'perf trace' and other tools.

      (Wang Nan)

  Various user interface improvements:

    - Automatic pager invocation on long help output. (Namhyung Kim)

    - Search for more options when passing args to -h, e.g.: (Arnaldo Carvalho de Melo)

      $ perf report -h interface

       Usage: perf report [<options>]

        --gtk    Use the GTK2 interface
        --stdio  Use the stdio interface
        --tui    Use the TUI interface

    - Show ordered command line options when -h is used or when an
      unknown option is specified. (Arnaldo Carvalho de Melo)

    - If options are passed after -h, show just its descriptions, not
      all options. (Arnaldo Carvalho de Melo)

    - Implement column based horizontal scrolling in the hists browser (top, report),
      making it possible to use the TUI for things like 'perf mem report' where
      there are many more columns than can fit in a terminal. (Arnaldo Carvalho de Melo)

    - Enhance the error reporting of tracepoint event parsing, e.g.:

        $ oldperf record -e sched:sched_switc usleep 1
        event syntax error: 'sched:sched_switc'
                             \___ unknown tracepoint
        Run 'perf list' for a list of valid events

      Now we get the much nicer:

        $ perf record -e sched:sched_switc ls
        event syntax error: 'sched:sched_switc'
                             \___ can't access trace events

        Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_switc
        Hint:  Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'

      And after we have those mount point permissions fixed:

        $ perf record -e sched:sched_switc ls
        event syntax error: 'sched:sched_switc'
                             \___ unknown tracepoint

        Error: File /sys/kernel/debug/tracing/events/sched/sched_switc not found.
        Hint:  Perhaps this kernel misses some CONFIG_ setting to enable this feature?.

      I.e. basically now the event parsing routing uses the strerror_open()
      routines introduced by and used in 'perf trace' work. (Jiri Olsa)

    - Fail properly when pattern matching fails to find a tracepoint, i.e.
      '-e non:existent' was being correctly handled, with a proper error message
      about that not being a valid event, but '-e non:existent*' wasn't,
      fix it. (Jiri Olsa)

    - Do event name substring search as last resort in 'perf list'.
      (Arnaldo Carvalho de Melo)

      E.g.:

       # perf list clock

       List of pre-defined events (to be used in -e):

        cpu-clock                                          [Software event]
        task-clock                                         [Software event]

        uncore_cbox_0/clockticks/                          [Kernel PMU event]
        uncore_cbox_1/clockticks/                          [Kernel PMU event]

        kvm:kvm_pvclock_update                             [Tracepoint event]
        kvm:kvm_update_master_clock                        [Tracepoint event]
        power:clock_disable                                [Tracepoint event]
        power:clock_enable                                 [Tracepoint event]
        power:clock_set_rate                               [Tracepoint event]
        syscalls:sys_enter_clock_adjtime                   [Tracepoint event]
        syscalls:sys_enter_clock_getres                    [Tracepoint event]
        syscalls:sys_enter_clock_gettime                   [Tracepoint event]
        syscalls:sys_enter_clock_nanosleep                 [Tracepoint event]
        syscalls:sys_enter_clock_settime                   [Tracepoint event]
        syscalls:sys_exit_clock_adjtime                    [Tracepoint event]
        syscalls:sys_exit_clock_getres                     [Tracepoint event]
        syscalls:sys_exit_clock_gettime                    [Tracepoint event]
        syscalls:sys_exit_clock_nanosleep                  [Tracepoint event]
        syscalls:sys_exit_clock_settime                    [Tracepoint event]

 Intel PT hardware tracing enhancements:

    - Accept a zero --itrace period, meaning "as often as possible".  In the case
      of Intel PT that is the same as a period of 1 and a unit of 'instructions'
      (i.e.  --itrace=i1i). (Adrian Hunter)

    - Harmonize itrace's synthesized callchains with the existing --max-stack
      tool option. (Adrian Hunter)

    - Allow time to be displayed in nanoseconds in 'perf script'. (Adrian Hunter)

    - Fix potential infinite loop when handling Intel PT timestamps. (Adrian Hunter)

    - Slighly improve Intel PT debug logging. (Adrian Hunter)

    - Warn when AUX data has been lost, just like when processing PERF_RECORD_LOST.
      (Adrian Hunter)

    - Further document export-to-postgresql.py script. (Adrian Hunter)

    - Add option to synthesize branch stack from auxtrace data. (Adrian Hunter)

 Misc notable changes:

    - Switch the default callchain output mode to 'graph,0.5,caller', to make it
      look like the default for other tools, reducing the learning curve for
      people used to 'caller' based viewing. (Arnaldo Carvalho de Melo)

    - various call chain usability enhancements. (Namhyung Kim)

    - Introduce the 'P' event modifier, meaning 'max precision level, please', i.e.:

         $ perf record -e cycles:P usleep 1

      Is now similar to:

         $ perf record usleep 1

      Useful, for instance, when specifying multiple events. (Jiri Olsa)

    - Add 'socket' sort entry, to sort by the processor socket in
      'perf top' and 'perf report'. (Kan Liang)

    - Introduce --socket-filter to 'perf report', for filtering by processor
      socket. (Kan Liang)

    - Add new "Zoom into Processor Socket" operation in the perf hists browser,
      used in 'perf top' and 'perf report'. (Kan Liang)

    - Allow probing on kmodules without DWARF. (Masami Hiramatsu)

    - Fix 'perf probe -l' for probes added to kernel module functions. (Masami Hiramatsu)

    - Preparatory work for the 'perf stat record' feature that will allow generating
      perf.data files with counting data in addition to the sampling mode
      we have now (Jiri Olsa)

    - Update libtraceevent KVM plugin. (Paolo Bonzini)

    - ... plus lots of other enhancements that I failed to list properly, by:
      Adrian Hunter, Alexander Shishkin, Andi Kleen, Andrzej Hajda,
      Arnaldo Carvalho de Melo, Dima Kogan, Don Zickus, Geliang Tang, He Kuang,
      Huaitong Han, Ingo Molnar, Jan Stancek, Jiri Olsa, Kan Liang, Kirill Tkhai,
      Masami Hiramatsu, Matt Fleming, Namhyung Kim, Paolo Bonzini, Peter Zijlstra,
      Rabin Vincent, Scott Wood, Stephane Eranian, Sukadev Bhattiprolu, Taku Izumi,
      Vaishali Thakkar, Wang Nan, Yang Shi and Yunlong Song.

 Thanks,

	Ingo

------------------>
Adrian Hunter (36):
      perf tools: Display build warning if x86 instruction decoder differs from kernel
      perf tools: Add a test for decoding of new x86 instructions
      x86/insn: perf tools: Pedantically tweak opcode map for MPX instructions
      x86/insn: perf tools: Add new SHA instructions
      x86/insn: perf tools: Add new memory instructions
      x86/insn: perf tools: Add new memory protection keys instructions
      x86/insn: perf tools: Add new xsave instructions
      perf intel-pt: Add support for PERF_RECORD_SWITCH
      perf/x86: Improve accuracy of perf/sched clock
      perf auxtrace: Fix 'instructions' period of zero
      perf report: Fix sample type validation for synthesized callchains
      perf intel-pt: Fix potential loop forever
      perf intel-pt: Make logging slightly more efficient
      perf script: Allow time to be displayed in nanoseconds
      perf session: Warn when AUX data has been lost
      perf tools: Add more documentation to export-to-postgresql.py script
      perf auxtrace: Add option to synthesize branch stacks on samples
      perf report: Adjust sample type validation for synthesized branch stacks
      perf report: Also do default setup for synthesized branch stacks
      perf report: Skip events with null branch stacks
      perf inject: Set branch stack feature flag when synthesizing branch stacks
      perf intel-pt: Move branch filter logic
      perf intel-pt: Support generating branch stack
      perf report: Make max_stack value allow for synthesized callchains
      perf hists: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
      perf script: Add a setting for maximum stack depth
      perf scripting python: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
      perf script: Make scripting_max_stack value allow for synthesized callchains
      perf evlist: Add perf_evlist__id2evsel_strict()
      perf evlist: Add perf_evlist__remove()
      perf inject: Remove more aux-related stuff when processing instruction traces
      perf inject: Add --strip option to strip out non-synthesized events
      perf intel-pt: Add mispred-all config option to aid use with autofdo
      perf report: Amend documentation about max_stack and synthesized callchains
      perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
      perf/x86: Fix time_shift in perf_event_mmap_page

Alexander Shishkin (2):
      perf/x86/intel/ds: Work around BTS leaking kernel addresses
      perf/x86/intel/bts: Disallow use by unprivileged users on paranoid systems

Andi Kleen (3):
      perf tools: Always use non inlined file name for 'srcfile' sort key
      perf stat: Quieten failed to read counter message
      perf evsel: Print branch filter state with -vv

Andrzej Hajda (1):
      perf tools: Fix handling read result using a signed variable

Arnaldo Carvalho de Melo (43):
      perf trace: Add read/write to the file group
      perf env: Move perf_env out of header.h and session.c into separate object
      perf env: Rename some leftovers from rename to perf_env
      perf env: Adopt perf_header__set_cmdline
      perf hists browser: Fixup the "cpu" column width calculation
      perf evsel: Remove forward declaration of 'struct perf_evlist'
      tools lib api fs: Introduce sysfs__read_{int,ull}()
      tools lib api cpu: Introduce cpu.[ch] to obtain cpu related information
      perf cpu_map: Use sysfs__read_int in get_{core,socket}_id()
      perf env: Introduce read_cpu_topology_map() method
      perf machine: Add pointer to sample's environment
      tools build: Fixup feature detection display function name
      tools lib bpf: Fix up FEATURE_{TESTS,DISPLAY} usage
      tools build: Allow setting the feature detection user
      tools lib bpf: Use FEATURE_USER to allow building in the same dir as perf
      tools vm: Fix build due to removal of tools/lib/api/fs/debugfs.h
      perf top: Filter symbols based on __map__is_kernel(map)
      perf hists browser: Use the map to determine if a DSO is being used as a kernel
      perf tools: Use __map__is_kernel() when synthesizing kernel module mmap records
      perf maps: Introduce maps__find_symbol_by_name()
      perf machine: Use machine__kernel_map() thoroughly
      perf machine: Add method for common kernel_map(FUNCTION) operation
      tools lib symbol: Rename kallsyms2elf_type to kallsyms2elf_binding
      tools lib symbol: Introduce kallsyms2elf_type
      perf list: Remove blank lines, headers when piping output
      perf tools: By default use the most precise "cycles" hw counter available
      perf list: Do event name substring search as last resort when no events found
      perf list: Honour 'event_glob' whem printing selectable PMUs
      perf callchain: Switch default to 'graph,0.5,caller'
      perf ui browser: Optional horizontal scrolling key binding
      perf hists browser: Implement horizontal scrolling
      perf python: Support the PERF_RECORD_SWITCH event
      perf symbols: Try the .debug/ DSO cache as a last resort
      perf ui browsers: Remove help messages about use of right and arrow keys
      perf hists browser: Inform how to reset the symbol filter
      perf bench: Use named initializers in the trailer too
      perf annotate: Add debug message for out of bounds sample
      perf ui tui: Register the error callbacks before initializing the widgets
      perf annotate: Don't die() when finding an invalid config option
      perf tools: Show tool command line options ordered
      perf tools: Provide help for subset of options
      perf tools: Search for more options when passing args to -h
      perf trace: Add cmd string table to decode sys_bpf first arg

Dima Kogan (2):
      perf symbols: Fix type error when reading a build-id
      perf symbols: we can now read separate debug-info files based on a build ID

Don Zickus (1):
      perf tools: Add support for sorting on the iaddr

Geliang Tang (1):
      perf/core, perf/x86: Change needlessly global functions and a variable to static

He Kuang (6):
      perf tools: Copy linux/filter.h to tools/include
      tools lib traceevent: Support function __get_dynamic_array_len
      perf tools: Adds the config_term callback for different type events
      perf tools: Show proper error message for wrong terms of hw/sw events
      perf tools: Adds the tracepoint name parsing support
      perf tools: Enable event_config terms to tracepoint events

Huaitong Han (1):
      perf/x86/intel/pt: Fix KVM warning due to doing rdmsr() before the CPUID test

Ingo Molnar (14):
      perf bench: Improve the 'perf bench mem memcpy' code readability
      perf bench: Default to all routines in 'perf bench mem'
      perf bench: Eliminate unused argument from bench_mem_common()
      perf bench: Rename 'mem-memcpy.c' => 'mem-functions.c'
      perf bench: Remove the prefaulting complication from 'perf bench mem mem*'
      perf bench: List output formatting options on 'perf bench -h'
      perf bench mem: Change 'cycle' to 'cycles'
      perf bench mem: Rename 'routine' to 'routine_str'
      perf bench mem: Fix 'length' vs. 'size' naming confusion
      perf bench mem: Improve user visible strings
      perf bench mem: Reorganize the code a bit
      perf bench: Harmonize all the -l/--nr_loops options
      perf bench mem: Rename 'routine' to 'function'
      perf bench: Run benchmarks, don't test them

Jan Stancek (4):
      perf tests: Take into account address of each objdump line
      perf tests: Make objdump disassemble zero blocks
      perf tests: Stop reading if objdump output crossed sections
      perf tests: Print objdump/dso buffers if they don't match

Jiri Olsa (54):
      perf tools: Remove mountpoint arg from perf_debugfs_mount
      perf tools: Move tracing_path stuff under same namespace
      tools lib api fs: Move tracing_path interface into api/fs/tracing_path.c
      tools lib api fs: Move debugfs__strerror_open into tracing_path.c object
      tools lib api fs: Add STR and PATH_MAX macros to fs object
      tools lib api fs: Move SYSFS_MAGIC PROC_SUPER_MAGIC into fs.c
      tools lib api fs: Add debugfs into fs.c object
      tools lib api fs: Add tracefs into fs.c object
      tools lib api fs: Add FSTYPE__mount() method
      tools lib api fs: Add FSTYPE__configured() method
      tools lib api fs: Make tracing_path_strerror_open message generic
      tools lib api fs: Replace debugfs/tracefs objects interface with fs.c
      tools lib api fs: Remove debugfs, tracefs and findfs objects
      perf tools: Switch to tracing_path interface on appropriate places
      perf tools: Add tools/include into tags directories
      tools: Add err.h with ERR_PTR PTR_ERR interface
      perf tools: Propagate error info for the tracepoint parsing
      perf evsel: Propagate error info from tp_format
      perf tools: Enhance parsing events tracepoint error output
      perf tools: Add include/err.h into MANIFEST
      tools lib api fs: Store tracing mountpoint for better error message
      tools build: Add Makefile.include
      tools build: Add test for missing include
      tools build: Add fixdep dependency helper
      tools build: Move dependency copy into function
      tools build: Make the fixdep helper part of the build process
      perf tools: Rename the 'single_dep' target to 'prepare'
      tools build: Build fixdep helper from perf and basic libs
      tools: Fix shadowed declaration in err.h
      perf tools: Fix shadowed declaration in parse-events.c
      tools lib api fs: No need to use PATH_MAX + 1
      perf evlist: Display DATA_SRC sample type bit
      perf annotate: Fix sizeof_sym_hist overflow issue
      perf tools: Export perf_event_attr__set_max_precise_ip()
      perf tools: Introduce 'P' modifier to request max precision
      perf tests: Add parsing test for 'P' modifier
      perf tools: Setup proper width for symbol_iaddr field
      perf tools: Handle -h and -v options
      perf tools: Fail properly in case pattern matching fails to find tracepoint
      perf tools: Get rid of superfluos call to reset_dimensions
      perf tools: Introduce hpp_dimension__add_output function
      perf tools: Use hpp_dimension__add_output to register hpp columns
      tools include: Fix strict-aliasing rules breakage
      tools build: Fix cross compile build
      perf stat: Rename perf_stat struct into perf_stat_evsel
      perf stat: Add AGGR_UNSET mode
      perf cpu_map: Make cpu_map__build_map global
      perf cpu_map: Add data arg to cpu_map__build_map callback
      perf script: Check output fields only for samples
      perf evsel: Move id_offset out of struct perf_evsel union member
      perf cpu_map: Add cpu_map__empty_new function
      perf stat: Cache aggregated map entries in extra cpumap
      perf symbols: Fix endless loop in dso__split_kallsyms_for_kcore
      perf tools: Make sure fixdep is built before libbpf

Kan Liang (15):
      perf cpumap: Factor out functions to get core_id and socket_id
      perf tools: Store the cpu socket and core ids in the perf.data header
      perf session: Don't call dump_sample() when evsel is NULL
      perf/x86/intel: Fix LBR callstack issue caused by FREEZE_LBRS_ON_PMI
      perf test: Add entry to test cpu topology
      perf env: Read msr pmu type from header
      perf tools: Add processor socket info to hist_entry and addr_location
      perf tools: Introduce new sort type "socket" for the processor socket
      perf report: Introduce --socket-filter option
      perf hists browser: Zoom in/out for processor socket
      perf test: Add entry for hists socket filter
      perf/x86/intel: Fix static checker warning in lbr enable
      perf stat: Reduce min --interval-print to 10ms
      perf/x86: Add Intel cstate PMUs support
      perf cpu_map: Fix core dump caused by per-socket/core system-wide stat

Kirill Tkhai (1):
      perf/core: Delete PF_EXITING checks from perf_cgroup_exit() callback

Masami Hiramatsu (7):
      perf probe: Fix a segfault when removing uprobe events
      perf probe: Fix to remove dot suffix from second or latter events
      perf probe: Begin and end libdwfl report session correctly
      perf probe: Show correct source lines of probes on kmodules
      perf probe: Fix a segfault bug in debuginfo_cache
      perf probe: Improve error message when %return is on inlined function
      perf probe: Allow probing on kmodules without dwarf

Matt Fleming (4):
      perf tests: Introduce iterator function for tests
      perf tests: Add arch tests
      perf tests: Move x86 tests into arch directory
      perf tests: Add Intel CQM test

Namhyung Kim (23):
      perf probe: Split add_perf_probe_events()
      perf probe: Move print logic into cmd_probe()
      perf probe: Split del_perf_probe_events()
      perf probe: Print deleted events in cmd_probe()
      perf probe: Free perf_probe_event in cleanup_perf_probe_events()
      perf probe: Export init/exit_probe_symbol_maps()
      perf record: Synthesize COMM event for a command line workload
      perf record: Allocate area for sample_id_hdr in a synthesized comm event
      perf top: Fix unresolved comm when -s comm is used
      perf top: Register idle thread
      perf report: Fix a bug on "--call-graph none" option
      perf hists browser: Add 'm' key for context menu display
      perf test: Silence tracepoint event failures
      perf test: Suppress libtraceevent warnings
      perf tools: Move callchain help messages to callchain.h
      perf top: Support call-graph display options also
      perf tools: Defaults to 'caller' callchain order only if --children is enabled
      perf tools: Improve call graph documents and help messages
      perf annotate: Fix 'annotate.use_offset' config variable usage
      perf tools: Improve ambiguous option help message
      perf report: Rename to --show-cpu-utilization
      perf tools: Setup pager when printing usage and help
      perf tools: Introduce usage_with_options_msg()

Paolo Bonzini (1):
      tools lib traceevent: update KVM plugin

Peter Zijlstra (3):
      perf/abi: Document some more aspects of the perf ABI
      perf/core: Add group reads to perf_event_read()
      perf/core: Invert perf_read_group() loops

Peter Zijlstra (Intel) (1):
      perf/core: Rename perf_event_read_{one,group}, perf_read_hw

Rabin Vincent (4):
      perf callchain: Use debug_frame if eh_frame is unusable
      perf callchains: Fix unw_word_t pointer casts
      tools build: Fix libiberty feature detection
      perf unwind: Pass symbol source to libunwind

Scott Wood (1):
      tools lib traceevent: Support %ps/%pS

Stephane Eranian (5):
      perf: Add PERF_SAMPLE_BRANCH_CALL
      perf/x86: Add support for PERF_SAMPLE_BRANCH_CALL
      perf/powerpc: Add support for PERF_SAMPLE_BRANCH_CALL
      perf record: Add ability to sample call branches
      perf script: Enable printing of branch stack

Sukadev Bhattiprolu (8):
      sparc, perf/sparc: Remove unnecessary assignment
      perf/core: Add a 'flags' parameter to the PMU transactional interfaces
      perf/core: Split perf_event_read() and perf_event_count()
      perf/core: Add return value for perf_event_read()
      perf/core: Define PERF_PMU_TXN_READ interface
      powerpc, perf/powerpc/hv-24x7: Use PMU_TXN_READ interface
      perf/core: Drop PERF_EVENT_TXN
      perf tools: Fix build break on powerpc due to sample_reg_masks

Taku Izumi (1):
      perf/x86/intel/uncore: Fix multi-segment problem of perf_event_intel_uncore

Vaishali Thakkar (1):
      perf/x86/intel/uncore: Do not use macro DEFINE_PCI_DEVICE_TABLE()

Wang Nan (14):
      perf probe: Link trace_probe_event into perf_probe_event
      perf tools: regs_query_register_offset() infrastructure
      perf tools: Introduce regs_query_register_offset() for x86
      perf tools: Don't assume that the parser returns non empty evsel list
      perf tools: Enable pre-event inherit setting by config terms
      perf tools: Make perf depend on libbpf
      perf ebpf: Add the libbpf glue
      perf tools: Enable passing bpf object file to --event
      perf tools: Create probe points for BPF programs
      perf tools: Load eBPF object into kernel
      perf bpf: Collect perf_evsel in BPF object files
      perf bpf: Attach eBPF filter to perf event
      perf record: Add clang options for compiling BPF scripts
      perf tools: Compile scriptlets to BPF objects when passing '.c' to --event

Yang Shi (1):
      perf record: Change 'record.samples' type to unsigned long long

Yunlong Song (2):
      perf help: Change 'usage' to 'Usage' for consistency
      perf build: Add fixdep to .gitignore


 arch/powerpc/perf/core-book3s.c                    |  36 +-
 arch/powerpc/perf/hv-24x7.c                        | 166 +++-
 arch/powerpc/perf/power8-pmu.c                     |   3 +
 arch/s390/kernel/perf_cpum_cf.c                    |  35 +-
 arch/sparc/kernel/perf_event.c                     |  32 +-
 arch/x86/kernel/cpu/Makefile                       |   1 +
 arch/x86/kernel/cpu/intel_cacheinfo.c              |   8 +-
 arch/x86/kernel/cpu/perf_event.c                   |  39 +-
 arch/x86/kernel/cpu/perf_event.h                   |   2 +-
 arch/x86/kernel/cpu/perf_event_intel_bts.c         |  13 +
 arch/x86/kernel/cpu/perf_event_intel_cstate.c      | 694 ++++++++++++++++
 arch/x86/kernel/cpu/perf_event_intel_ds.c          |  40 +-
 arch/x86/kernel/cpu/perf_event_intel_lbr.c         |   8 +-
 arch/x86/kernel/cpu/perf_event_intel_pt.c          |   7 +-
 arch/x86/kernel/cpu/perf_event_intel_uncore.c      |  61 +-
 arch/x86/kernel/cpu/perf_event_intel_uncore.h      |  12 +-
 arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c  |  16 +-
 .../x86/kernel/cpu/perf_event_intel_uncore_snbep.c |  34 +-
 arch/x86/kernel/tsc.c                              |  35 +-
 arch/x86/lib/x86-opcode-map.txt                    |  24 +-
 include/linux/perf_event.h                         | 120 ++-
 include/uapi/linux/perf_event.h                    |   6 +-
 kernel/events/core.c                               | 224 ++++--
 tools/build/.gitignore                             |   1 +
 tools/build/Build                                  |   1 +
 tools/build/Build.include                          |  17 +-
 tools/build/Documentation/Build.txt                |  52 +-
 tools/build/Makefile                               |  43 +
 tools/build/Makefile.build                         |   7 +
 tools/build/Makefile.feature                       |  15 +-
 tools/build/Makefile.include                       |  10 +
 tools/build/feature/Makefile                       |   4 +-
 tools/build/fixdep.c                               | 168 ++++
 tools/build/tests/ex/Build                         |   1 +
 tools/build/tests/ex/Makefile                      |  13 +-
 tools/build/tests/ex/ex.c                          |   2 +
 tools/build/tests/ex/inc.c                         |   8 +
 tools/build/tests/run.sh                           |  27 +
 tools/include/linux/compiler.h                     |  32 +-
 tools/include/linux/err.h                          |  49 ++
 tools/include/linux/filter.h                       | 231 ++++++
 tools/lib/api/Build                                |   1 +
 tools/lib/api/Makefile                             |   6 +-
 tools/lib/api/cpu.c                                |  18 +
 tools/lib/api/cpu.h                                |   6 +
 tools/lib/api/fs/Build                             |   4 +-
 tools/lib/api/fs/debugfs.c                         | 129 ---
 tools/lib/api/fs/debugfs.h                         |  23 -
 tools/lib/api/fs/findfs.c                          |  63 --
 tools/lib/api/fs/findfs.h                          |  23 -
 tools/lib/api/fs/fs.c                              | 165 +++-
 tools/lib/api/fs/fs.h                              |  30 +-
 tools/lib/api/fs/tracefs.c                         |  78 --
 tools/lib/api/fs/tracefs.h                         |  21 -
 tools/lib/api/fs/tracing_path.c                    | 135 ++++
 tools/lib/api/fs/tracing_path.h                    |  16 +
 tools/lib/bpf/Makefile                             |  11 +-
 tools/lib/lockdep/Makefile                         |   6 +-
 tools/lib/symbol/kallsyms.c                        |   6 +
 tools/lib/symbol/kallsyms.h                        |   4 +-
 tools/lib/traceevent/event-parse.c                 |  60 +-
 tools/lib/traceevent/event-parse.h                 |   1 +
 tools/lib/traceevent/plugin_kvm.c                  |  25 +-
 tools/perf/Documentation/intel-pt.txt              |  44 ++
 tools/perf/Documentation/itrace.txt                |   4 +
 tools/perf/Documentation/perf-bench.txt            |  54 +-
 tools/perf/Documentation/perf-inject.txt           |   3 +
 tools/perf/Documentation/perf-list.txt             |   3 +
 tools/perf/Documentation/perf-record.txt           |  16 +-
 tools/perf/Documentation/perf-report.txt           |  48 +-
 tools/perf/Documentation/perf-script.txt           |  17 +-
 tools/perf/Documentation/perf-stat.txt             |   5 +-
 tools/perf/Documentation/perf-top.txt              |   5 +-
 tools/perf/Documentation/perf.txt                  |   8 +
 tools/perf/MANIFEST                                |   5 +
 tools/perf/Makefile.perf                           |  53 +-
 tools/perf/arch/common.c                           |  10 +-
 tools/perf/arch/common.h                           |   4 +-
 tools/perf/arch/x86/Build                          |   2 +-
 tools/perf/arch/x86/Makefile                       |   1 +
 tools/perf/arch/x86/include/arch-tests.h           |  19 +
 tools/perf/arch/x86/tests/Build                    |  10 +-
 tools/perf/arch/x86/tests/arch-tests.c             |  34 +
 tools/perf/arch/x86/tests/dwarf-unwind.c           |   1 +
 tools/perf/arch/x86/tests/gen-insn-x86-dat.awk     |  75 ++
 tools/perf/arch/x86/tests/gen-insn-x86-dat.sh      |  43 +
 tools/perf/arch/x86/tests/insn-x86-dat-32.c        | 658 ++++++++++++++++
 tools/perf/arch/x86/tests/insn-x86-dat-64.c        | 768 ++++++++++++++++++
 tools/perf/arch/x86/tests/insn-x86-dat-src.c       | 877 +++++++++++++++++++++
 tools/perf/arch/x86/tests/insn-x86.c               | 185 +++++
 tools/perf/arch/x86/tests/intel-cqm.c              | 124 +++
 tools/perf/{ => arch/x86}/tests/perf-time-to-tsc.c |   4 +-
 tools/perf/{ => arch/x86}/tests/rdpmc.c            |   7 +-
 tools/perf/arch/x86/util/dwarf-regs.c              | 122 ++-
 tools/perf/arch/x86/util/intel-pt.c                |  55 +-
 tools/perf/bench/Build                             |   2 +-
 tools/perf/bench/mem-functions.c                   | 379 +++++++++
 tools/perf/bench/mem-memcpy.c                      | 434 ----------
 tools/perf/bench/numa.c                            |   4 +-
 tools/perf/bench/sched-messaging.c                 |  10 +-
 tools/perf/builtin-annotate.c                      |   2 +-
 tools/perf/builtin-bench.c                         |  14 +-
 tools/perf/builtin-evlist.c                        |   4 +-
 tools/perf/builtin-help.c                          |   2 +-
 tools/perf/builtin-inject.c                        | 127 ++-
 tools/perf/builtin-kmem.c                          |   2 +-
 tools/perf/builtin-kvm.c                           |   1 -
 tools/perf/builtin-list.c                          |  20 +-
 tools/perf/builtin-probe.c                         | 147 +++-
 tools/perf/builtin-record.c                        |  56 +-
 tools/perf/builtin-report.c                        |  65 +-
 tools/perf/builtin-sched.c                         |   4 +-
 tools/perf/builtin-script.c                        | 113 ++-
 tools/perf/builtin-stat.c                          |  93 ++-
 tools/perf/builtin-top.c                           |  59 +-
 tools/perf/builtin-trace.c                         |  31 +-
 tools/perf/config/Makefile                         |  23 +-
 tools/perf/perf.c                                  |  30 +-
 tools/perf/python/twatch.py                        |  23 +-
 tools/perf/scripts/python/export-to-postgresql.py  | 221 ++++++
 tools/perf/tests/Build                             |   4 +-
 tools/perf/tests/bpf-script-example.c              |  44 ++
 tools/perf/tests/builtin-test.c                    |  76 +-
 tools/perf/tests/code-reading.c                    |  76 +-
 tools/perf/tests/dwarf-unwind.c                    |   4 +
 tools/perf/tests/evsel-tp-sched.c                  |  10 +-
 tools/perf/tests/hists_filter.c                    |  55 +-
 tools/perf/tests/make                              |   4 +-
 tools/perf/tests/mmap-basic.c                      |   3 +-
 tools/perf/tests/openat-syscall-all-cpus.c         |  13 +-
 tools/perf/tests/openat-syscall-tp-fields.c        |   5 +-
 tools/perf/tests/openat-syscall.c                  |  13 +-
 tools/perf/tests/parse-events.c                    |  49 +-
 tools/perf/tests/tests.h                           |  10 +-
 tools/perf/tests/topology.c                        | 115 +++
 tools/perf/tests/vmlinux-kallsyms.c                |   4 +-
 tools/perf/trace/strace/groups/file                |   2 +
 tools/perf/ui/browser.c                            |  14 +
 tools/perf/ui/browser.h                            |   2 +-
 tools/perf/ui/browsers/annotate.c                  |  14 +-
 tools/perf/ui/browsers/hists.c                     | 120 ++-
 tools/perf/ui/browsers/map.c                       |   2 +-
 tools/perf/ui/browsers/scripts.c                   |   2 +-
 tools/perf/ui/hist.c                               |  16 +-
 tools/perf/ui/tui/setup.c                          |   8 +-
 tools/perf/util/Build                              |   2 +
 tools/perf/util/annotate.c                         |   5 +-
 tools/perf/util/annotate.h                         |   2 +-
 tools/perf/util/auxtrace.c                         |  24 +-
 tools/perf/util/auxtrace.h                         |   4 +
 tools/perf/util/bpf-loader.c                       | 352 +++++++++
 tools/perf/util/bpf-loader.h                       |  85 ++
 tools/perf/util/callchain.c                        |  42 +-
 tools/perf/util/callchain.h                        |  26 +
 tools/perf/util/cpumap.c                           |  97 +--
 tools/perf/util/cpumap.h                           |  10 +-
 tools/perf/util/env.c                              |  86 ++
 tools/perf/util/env.h                              |  44 ++
 tools/perf/util/event.c                            |  22 +-
 tools/perf/util/event.h                            |   6 +
 tools/perf/util/evlist.c                           |  47 +-
 tools/perf/util/evlist.h                           |   5 +
 tools/perf/util/evsel.c                            |  50 +-
 tools/perf/util/evsel.h                            |  10 +-
 tools/perf/util/header.c                           | 136 +++-
 tools/perf/util/header.h                           |  27 +-
 tools/perf/util/hist.c                             |  59 +-
 tools/perf/util/hist.h                             |   8 +-
 tools/perf/util/include/dwarf-regs.h               |   8 +
 tools/perf/util/intel-pt-decoder/Build             |  13 +-
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  |   4 +-
 tools/perf/util/intel-pt-decoder/intel-pt-log.c    |  21 +-
 tools/perf/util/intel-pt-decoder/intel-pt-log.h    |  38 +-
 .../perf/util/intel-pt-decoder/x86-opcode-map.txt  |  24 +-
 tools/perf/util/intel-pt.c                         | 266 ++++++-
 tools/perf/util/machine.c                          |  29 +-
 tools/perf/util/machine.h                          |   9 +-
 tools/perf/util/map.c                              |  21 +-
 tools/perf/util/map.h                              |   2 +
 tools/perf/util/parse-branch-options.c             |   1 +
 tools/perf/util/parse-events.c                     | 374 ++++++++-
 tools/perf/util/parse-events.h                     |  16 +-
 tools/perf/util/parse-events.l                     |  12 +-
 tools/perf/util/parse-events.y                     |  82 +-
 tools/perf/util/parse-options.c                    | 156 +++-
 tools/perf/util/parse-options.h                    |   5 +
 tools/perf/util/pmu.c                              |  42 +-
 tools/perf/util/probe-event.c                      | 234 +++---
 tools/perf/util/probe-event.h                      |  11 +
 tools/perf/util/probe-file.c                       |  56 +-
 tools/perf/util/probe-file.h                       |   4 +
 tools/perf/util/probe-finder.c                     |  58 +-
 tools/perf/util/python.c                           |  59 +-
 .../perf/util/scripting-engines/trace-event-perl.c |   1 +
 .../util/scripting-engines/trace-event-python.c    |   3 +-
 tools/perf/util/session.c                          |  37 +-
 tools/perf/util/session.h                          |   2 +
 tools/perf/util/sort.c                             |  74 +-
 tools/perf/util/sort.h                             |   6 +
 tools/perf/util/srcline.c                          |  29 +-
 tools/perf/util/stat.c                             |  13 +-
 tools/perf/util/stat.h                             |   3 +-
 tools/perf/util/strbuf.c                           |  22 +-
 tools/perf/util/strbuf.h                           |   2 +
 tools/perf/util/symbol-minimal.c                   |   2 +-
 tools/perf/util/symbol.c                           |  31 +-
 tools/perf/util/symbol.h                           |   1 +
 tools/perf/util/trace-event-info.c                 |   2 +-
 tools/perf/util/trace-event.c                      |  16 +-
 tools/perf/util/trace-event.h                      |   2 +
 tools/perf/util/unwind-libunwind.c                 |  19 +-
 tools/perf/util/usage.c                            |   5 +
 tools/perf/util/util.c                             |  72 +-
 tools/perf/util/util.h                             |  12 +-
 tools/vm/page-types.c                              |   6 +-
 215 files changed, 9951 insertions(+), 2026 deletions(-)
 create mode 100644 arch/x86/kernel/cpu/perf_event_intel_cstate.c
 create mode 100644 tools/build/.gitignore
 create mode 100644 tools/build/Build
 create mode 100644 tools/build/Makefile
 create mode 100644 tools/build/Makefile.include
 create mode 100644 tools/build/fixdep.c
 create mode 100644 tools/build/tests/ex/inc.c
 create mode 100644 tools/include/linux/err.h
 create mode 100644 tools/include/linux/filter.h
 create mode 100644 tools/lib/api/cpu.c
 create mode 100644 tools/lib/api/cpu.h
 delete mode 100644 tools/lib/api/fs/debugfs.c
 delete mode 100644 tools/lib/api/fs/debugfs.h
 delete mode 100644 tools/lib/api/fs/findfs.c
 delete mode 100644 tools/lib/api/fs/findfs.h
 delete mode 100644 tools/lib/api/fs/tracefs.c
 delete mode 100644 tools/lib/api/fs/tracefs.h
 create mode 100644 tools/lib/api/fs/tracing_path.c
 create mode 100644 tools/lib/api/fs/tracing_path.h
 create mode 100644 tools/perf/arch/x86/include/arch-tests.h
 create mode 100644 tools/perf/arch/x86/tests/arch-tests.c
 create mode 100644 tools/perf/arch/x86/tests/gen-insn-x86-dat.awk
 create mode 100755 tools/perf/arch/x86/tests/gen-insn-x86-dat.sh
 create mode 100644 tools/perf/arch/x86/tests/insn-x86-dat-32.c
 create mode 100644 tools/perf/arch/x86/tests/insn-x86-dat-64.c
 create mode 100644 tools/perf/arch/x86/tests/insn-x86-dat-src.c
 create mode 100644 tools/perf/arch/x86/tests/insn-x86.c
 create mode 100644 tools/perf/arch/x86/tests/intel-cqm.c
 rename tools/perf/{ => arch/x86}/tests/perf-time-to-tsc.c (98%)
 rename tools/perf/{ => arch/x86}/tests/rdpmc.c (97%)
 create mode 100644 tools/perf/bench/mem-functions.c
 delete mode 100644 tools/perf/bench/mem-memcpy.c
 create mode 100644 tools/perf/tests/bpf-script-example.c
 create mode 100644 tools/perf/tests/topology.c
 create mode 100644 tools/perf/util/bpf-loader.c
 create mode 100644 tools/perf/util/bpf-loader.h
 create mode 100644 tools/perf/util/env.c
 create mode 100644 tools/perf/util/env.h

[ 600K+ diff omitted due to lkml mail size limits. ]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ