Skip to content
  1. Oct 18, 2014
    • Jiri Olsa's avatar
      perf script: Add period data column · 535aeaae
      Jiri Olsa authored
      
      
      Adding period data column to be displayed in perf script.  It's possible
      to get period values using -f option, like:
      
        $ perf script -f comm,tid,time,period,ip,sym,dso
                :26019 26019 52414.329088:       3707  ffffffff8105443a native_write_msr_safe ([kernel.kallsyms])
                :26019 26019 52414.329088:         44  ffffffff8105443a native_write_msr_safe ([kernel.kallsyms])
                :26019 26019 52414.329093:       1987  ffffffff8105443a native_write_msr_safe ([kernel.kallsyms])
                :26019 26019 52414.329093:          6  ffffffff8105443a native_write_msr_safe ([kernel.kallsyms])
                    ls 26019 52414.329442:     537558        3407c0639c _dl_map_object_from_fd (/usr/lib64/ld-2.17.so)
                    ls 26019 52414.329442:       2099        3407c0639c _dl_map_object_from_fd (/usr/lib64/ld-2.17.so)
                    ls 26019 52414.330181:    1242100        34080917bb get_next_seq (/usr/lib64/libc-2.17.so)
                    ls 26019 52414.330181:       3774        34080917bb get_next_seq (/usr/lib64/libc-2.17.so)
                    ls 26019 52414.331427:    1083662  ffffffff810c7dc2 update_curr ([kernel.kallsyms])
                    ls 26019 52414.331427:        360  ffffffff810c7dc2 update_curr ([kernel.kallsyms])
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: "Jen-Cheng(Tommy) Huang" <tommy24@gatech.edu>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jen-Cheng(Tommy) Huang <tommy24@gatech.edu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1408977943-16594-9-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      535aeaae
  2. Oct 17, 2014
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: No need to drag util/cgroup.h · f14d5707
      Arnaldo Carvalho de Melo authored
      
      
      The only thing we need is a forward declaration for 'struct cgroup_sel',
      that is inside 'struct perf_evsel'.
      
      Include cgroup.h instead on the tools that support cgroups.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-b7kuymbgf0zxi5viyjjtu5hk@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f14d5707
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: Add missing 'struct option' forward declaration · 724ce97e
      Arnaldo Carvalho de Melo authored
      
      
      It was being found, by chance, because evsel.h needlessly includes
      util/cgroup.h, which will be sorted out in a following patch.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-xsvxr747wkkpg1ay9dramorr@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      724ce97e
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Move exit stuff from __delete to __exit · 597e48c1
      Arnaldo Carvalho de Melo authored
      
      
      So that when an evsel is embedded into other struct it can free up
      resources calling perf_evsel__exit().
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-n1w68pfe9m2vkhm4sqs8y1en@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      597e48c1
    • Anton Blanchard's avatar
      kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define · 691286b5
      Anton Blanchard authored
      Commit e7dbfe34
      
       ("kprobes/x86: Move ftrace-based kprobe code
      into kprobes-ftrace.c") switched from using
      ARCH_SUPPORTS_KPROBES_ON_FTRACE to CONFIG_KPROBES_ON_FTRACE but
      missed removing the define.
      
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Cc: masami.hiramatsu.pt@hitachi.com
      Cc: ananth@in.ibm.com
      Cc: a.p.zijlstra@chello.nl
      Cc: fweisbec@gmail.com
      Cc: rostedt@goodmis.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      691286b5
  3. Oct 16, 2014
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · 71c62b24
      Ingo Molnar authored
      
      Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
       User visible changes:
      
        * Add a visual cue for toggle zeroing of samples in 'perf top' (Taeung Song)
      
        * Fix for double free in 'perf stat' when using some specific invalid
          command line combo (Yasser Shalabi)
      
       Infrastructure changes:
      
        * Add option to copy events when queuing for sorting across cpu buffers
          and enable it for 'perf kvm stat live', to avoid having events left
          in the queue pointing to the ring buffer be rewritten in high volume
          sessions.  (Alexander Yarygin, improving work done by David Ahern):
      
        * Document sysfs events/ interfaces (Cody P Schafer)
      
        * Add support to new style format of kernel PMU event. (Kan Liang)
      
        * Fix typos in perf/Documentation (Masanari Iida)
      
        * Improve callchains when using libunwind (Namhyung Kim)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      71c62b24
    • Alexander Yarygin's avatar
      perf kvm stat live: Enable events copying · 673d659f
      Alexander Yarygin authored
      
      
      Process of analyzing events caused by 2 functions: mmap_read() and
      finished_round().
      
      During mmap_read(), perf receives events from shared memory, queues
      their pointers for further processing in finished_round() and notifies
      the kernel that the events have been processed.
      
      By the time when finished_round() is invoked, queued events can be
      overwritten by the kernel, so the finished_round() occurs on potentially
      corrupted memory.
      
      Since there is no place where the event can be safely consumed, let's
      copy events when queueing.
      
      Signed-off-by: default avatarAlexander Yarygin <yarygin@linux.vnet.ibm.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1412347212-28237-3-git-send-email-yarygin@linux.vnet.ibm.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      673d659f
    • Alexander Yarygin's avatar
      perf session: Add option to copy events when queueing · 54bf53b1
      Alexander Yarygin authored
      
      
      When processing events the session code has an ordered samples queue
      which is used to time-sort events coming in across multiple mmaps. At a
      later point in time samples on the queue are flushed up to some
      timestamp at which point the event is actually processed.
      
      When analyzing events live (ie., record/analysis path in the same
      command) there is a race that leads to corrupted events and parse errors
      which cause perf to terminate. The problem is that when the event is
      placed in the ordered samples queue it is only a reference to the event
      which is really sitting in the mmap buffer. Even though the event is
      queued for later processing the mmap tail pointer is updated which
      indicates to the kernel that the event has been processed. The race is
      flushing the event from the queue before it gets overwritten by some
      other event. For commands trying to process events live (versus just
      writing to a file) and processing a high rate of events this leads to
      parse failures and perf terminates.
      
      Examples hitting this problem are 'perf kvm stat live', especially with
      nested VMs which generate 100,000+ traces per second, and a command
      processing scheduling events with a high rate of context switching --
      e.g., running 'perf bench sched pipe'.
      
      This patch offers live commands an option to copy the event when it is
      placed in the ordered samples queue.
      
      Based on a patch from David Ahern <dsahern@gmail.com>
      
      Signed-off-by: default avatarAlexander Yarygin <yarygin@linux.vnet.ibm.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1412347212-28237-2-git-send-email-yarygin@linux.vnet.ibm.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      54bf53b1
    • Masanari Iida's avatar
      perf Documentation: Fix typos in perf/Documentation · 96355f2c
      Masanari Iida authored
      
      
      This patch fix spelling typos found in tool/perf/Documentation.
      
      Signed-off-by: default avatarMasanari Iida <standby24x7@gmail.com>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Link: http://lkml.kernel.org/r/1410275930-17207-1-git-send-email-standby24x7@gmail.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      96355f2c
    • Namhyung Kim's avatar
      perf trace: Use thread_{,_set}_priv helpers · 89dceb22
      Namhyung Kim authored
      
      
      This is mechanical changes only for accounting access to thread->priv
      properly in the source level.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1412556363-26229-6-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      89dceb22
    • Namhyung Kim's avatar
      perf kvm: Use thread_{,_set}_priv helpers · 69e865c3
      Namhyung Kim authored
      
      
      This is mechanical changes only for accounting access to thread->priv
      properly in the source level.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1412556363-26229-5-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      69e865c3
    • Namhyung Kim's avatar
      perf callchain: Create an address space per thread · 66f066d8
      Namhyung Kim authored
      
      
      The unw_addr_space_t in libunwind represents an address space to be used
      for stack unwinding.  It doesn't need to be create/destory everytime to
      unwind callchain (as in get_entries) and can have a same lifetime as
      thread (unless exec called).
      
      So move the address space construction/destruction logic to the thread
      lifetime handling functions.  This is a preparation to enable caching in
      the unwind library.
      
      Note that it saves unw_addr_space_t object using thread__set_priv().  It
      seems currently only used by perf trace and perf kvm stat commands which
      don't use callchain.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJean Pihet <jean.pihet@linaro.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Arun Sharma <asharma@fb.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1412556363-26229-3-git-send-email-namhyung@kernel.org
      [ Fixup unwind-libunwind.c missing CALLCHAIN_DWARF definition, added
        missing __maybe_unused on unused parameters in stubs at util/unwind.h ]
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      66f066d8
    • Namhyung Kim's avatar
      perf report: Set callchain_param.record_mode for future use · 0cdccac6
      Namhyung Kim authored
      
      
      Normally the callchain_param.record_mode is used only for record path.
      But as it might need to prepare something for dwarf unwinding, setup
      this info for perf report too.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1412556363-26229-2-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0cdccac6
    • Yasser Shalabi's avatar
      perf evlist: Fix for double free in tools/perf stat · b2e19a93
      Yasser Shalabi authored
      
      
      Fix for double free bug in tools/perf due to dangling thread_map pointer
      in perf_evlist struct.
      
      Code path excercised when perf stat -C switch is used but not set and is
      followed by another switch.
      
      Example:
      
        perf stat -C -e.
      
      Signed-off-by: default avatarYasser Shalabi <yassershalabi@gmail.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1412437077-13109-1-git-send-email-yassershalabi@gmail.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b2e19a93
    • Kan Liang's avatar
      perf test: Add test case for pmu event new style format · ffe59788
      Kan Liang authored
      
      
      Add test case in automated tests suite. It checks not only the two types
      of pmu event stytle formats "pmu_event_name" and "cpu/pmu_event_name/",
      but also the different formats mixtures which are more likely to trigger
      parse issue.
      
      The patch set including this one has been tested by the perf automated
      test:
      
         ./perf test parse -v"
      
      On haswell, ivybridge and Romley platform.
      
      The patch set also has been tested on haswell by the following script.
      
      Note: please make sure that your test system support TSX and
      L1-dcache-loads events. Otherwise, you may want to change the events to
      other pmu events.
      
        [lk@localhost ~]$ cat perf_style_test.sh
        # hardware events + kernel pmu event with different style
        perf stat -x, -e cycles,mem-stores,tx-start sleep 2
        perf stat -x, -e cpu-cycles,cycles-ct,cycles-t sleep 2
        perf stat -x, -e cycles,cpu/cycles-ct/,cpu/cycles-t/ sleep 2
        perf stat -x, -e instructions,cpu/tx-start/ sleep 2
        perf stat -x, -e '{cycles,tx-start}' sleep 2
        perf stat -x, -e '{cycles,cpu/tx-start/}' sleep 2
      
        # HW Cache event + kernel pmu event with different style
        perf stat -x, -e L1-dcache-loads,cpu/mem-stores/,tx-start sleep 2
        perf stat -x, -e L1-dcache-loads,mem-stores,cpu/tx-start/ sleep 2
        perf stat -x, -e '{L1-dcache-loads,mem-stores}' sleep 2
        perf stat -x, -e '{L1-dcache-loads,cpu/tx-start/}' sleep 2
      
        # Raw event + kernel pmu event with different style:
        perf stat -x, -e cpu/event=0xc0,umask=0x00/,mem-loads,cpu/mem-stores/ sleep 2
        perf stat -x, -e cpu/event=0xc0,umask=0x00/,tx-start,cpu/el-start/ sleep 2
        perf stat -x, -e '{cpu/event=0xc0,umask=0x00/,tx-start}' sleep 2
      
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/1412694532-23391-5-git-send-email-kan.liang@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ffe59788
    • Kan Liang's avatar
      perf tools: Add support to new style format of kernel PMU event · ba32a451
      Kan Liang authored
      
      
      Add new rules for kernel PMU event.
      
      Currently, the patch only want to handle the PMU event name as "a-b" and
      "a".
      
      event_pmu:
      PE_KERNEL_PMU_EVENT sep_dc
      |
      PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc
      
      PE_KERNEL_PMU_EVENT token is for
      cycles-ct/cycles-t/mem-loads/mem-stores.
      
      The prefix cycles is mixed up with cpu-cycles.  loads and stores are
      mixed up with cache event So they have to be hardcode in lex.
      
      PE_PMU_EVENT_PRE and PE_PMU_EVENT_SUF tokens are for other PMU events.
      
      The lex looks generic identifier up in the table and return the matched
      token. If there is no match, generic PE_NAME token will be return.
      
      Using the rules, kernel PMU event could use new style format without //
      
      so you can use:
      
        perf record -e mem-loads ...
      
      instead of:
      
        perf record -e cpu/mem-loads/
      
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/1412694532-23391-4-git-send-email-kan.liang@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ba32a451
    • Kan Liang's avatar
      perf tools: Parse the pmu event prefix and suffix · dcb4e102
      Kan Liang authored
      
      
      There are two types of event formats for PMU events. E.g. el-abort OR
      cpu/el-abort/. However, the lexer mistakenly recognizes the simple style
      format as two events.
      
      The parse_events_pmu_check function uses bsearch to search the name in
      known pmu event list. It can tell the lexer that the name is a PE_NAME
      or a PMU event name prefix or a PMU event name suffix. All these
      information will be used for accurately parsing kernel PMU events.
      
      The pmu events list will be read from sysfs at runtime.
      
      Note: Currently, the patch only want to handle the PMU event name as
      "a-b" and "a". The only exception, "stalled-cycles-frontend" and
      "stalled-cycles-fronted", are already hardcoded in lexer.
      
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/1412694532-23391-3-git-send-email-kan.liang@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      dcb4e102
    • Kan Liang's avatar
      Revert "perf tools: Default to cpu// for events v5" · 42f60c2d
      Kan Liang authored
      This reverts commit 50e200f0
      
       ("perf tools: Default to cpu// for
      events v5")
      
      The fixup cannot handle the case that
      new style format(which without //) mixed with
      other different formats.
      
      For example,
      group events with new style format: {mem-stores,mem-loads}
      some hardware event + new style event: cycles,mem-loads
      Cache event + new style event: LLC-loads,mem-loads
      Raw event + new style event:
      cpu/event=0xc8,umask=0x08/,mem-loads
      old style event and new stytle mixture: mem-stores,cpu/mem-loads/
      
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/1412694532-23391-2-git-send-email-kan.liang@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      42f60c2d
    • Cody P Schafer's avatar
      perf Documentation: Remove Ruplicated docs for powerpc cpu specific events · b56d5bef
      Cody P Schafer authored
      
      
      Listing specific events doesn't actually help us at all here because:
       - these events actually vary between different ppc processors, they
         aren't garunteed to be present.
       - the documentation of the (generic) file contents is now superceded by the
         docs for arbitrary event file contents.
      
      Signed-off-by: default avatarCody P Schafer <dev@codyps.com>
      Signed-off-by: default avatarSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
      Cc: Haren Myneni <hbabu@us.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Michael Ellerman <michaele@au1.ibm.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Link: http://lkml.kernel.org/r/1412143402-26061-5-git-send-email-sukadev@linux.vnet.ibm.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b56d5bef
    • Cody P Schafer's avatar
      perf Documentation: sysfs events/ interfaces · ed90a446
      Cody P Schafer authored
      
      
      Add documentation for the <event>, <event>.scale, and <event>.unit
      files in sysfs.
      
      	<event>.scale and <event>.unit were undocumented.
      	<event> was previously documented only for specific powerpc pmu events.
      
      Signed-off-by: default avatarCody P Schafer <dev@codyps.com>
      Signed-off-by: default avatarSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
      Cc: Cody P Schafer <dev@codyps.com>
      Cc: Haren Myneni <hbabu@us.ibm.com>
      Cc: Haren Myneni <hbabu@us.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Michael Ellerman <michaele@au1.ibm.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Link: http://lkml.kernel.org/r/1412143402-26061-4-git-send-email-sukadev@linux.vnet.ibm.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ed90a446
    • Taeung Song's avatar
      perf top: Add a visual cue for toggle zeroing of samples · 1e378ebd
      Taeung Song authored
      
      
      When 'perf top' is run, one can't easily find a difference
      between -z option and normal output.
      So I added a visual cue to know whether it is the zeroing or not.
      
      Output is as below.
      
      Before:
       $ perf top
      
       Samples: 61K of event 'cycles', Event count (approx.): 3908136933
       Overhead  Shared Object                       Symbol
          1.42%  firefox                             [.] 0x0000000000011e76
          1.32%  libpthread-2.17.so                  [.] pthread_mutex_lock
      
      If you press key 'z' or run with zero option like '$ perf top --zero', it is as below.
      
      After:
       Samples: 61K of event 'cycles', Event count (approx.): 3908136933 [z]
       Overhead  Shared Object                       Symbol
          1.42%  firefox                             [.] 0x0000000000011e76
          1.32%  libpthread-2.17.so                  [.] pthread_mutex_lock
      
      Signed-off-by: default avatarTaeung Song <treeze.taeung@gmail.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1412665995-26359-1-git-send-email-treeze.taeung@gmail.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1e378ebd
  4. Oct 15, 2014
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · ec4212d8
      Ingo Molnar authored
      
      Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      Infrastructure fixes and changes:
      
        * Fix off-by-one bugs in map->end handling (Stephane Eranian)
      
        * Fix off-by-one bug in maps__find(), also related to map->end handling (Namhyung Kim)
      
        * Make struct symbol->end be the first addr after the symbol range, to make it
          match the convention used for struct map->end. (Arnaldo Carvalho de Melo)
      
        * Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' (Jiri Olsa)
      
        * Fix python test build by moving callchain_param to an object linked into the
          python binding (Jiri Olsa)
      
        * Do not include a struct hists per perf_evsel, untangling the histogram code
          from perf_evsel, to pave the way for exporting a minimalistic
          tools/lib/api/perf/ library usable by tools/perf and initially by the rasd
          daemon being developed by Borislav Petkov, Robert Richter and Jean Pihet.
          (Arnaldo Carvalho de Melo)
      
        * Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and thread
          maps mean syswide monitoring, reducing the boilerplate for tools that
          only want system wide mode. (Arnaldo Carvalho de Melo)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      ec4212d8
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Make sym->end be the first address after the symbol range · 2c241bd3
      Arnaldo Carvalho de Melo authored
      
      
      To follow vm_area_struct->vm_end convention.
      
      By adhering to the convention that ->end is the first address outside
      the symbol's range we can do things like:
      
      	sym->end = start + len;
      	len = sym->end - sym->start;
      
      This is also now the convention used for struct map->end, fixing some
      off-by-one bugs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Chuck Ebbert <cebbert.lkml@gmail.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-agomujr7tuqaq6lu7kr6z7h6@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2c241bd3
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Fix map->end fixup · eba85230
      Arnaldo Carvalho de Melo authored
      
      
      When synthesizing maps from files that have incomplete symbol
      information, like kallsyms, we need to fixup the end of maps by seting
      its end from the ->start of the next map, fix it to set prev_map->end to
      curr_map->start, since ->end is the first byte outside prev_map address
      range.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-ivbrj08sjakxdwkrcndbkoig@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      eba85230
    • Namhyung Kim's avatar
      perf tools: Fixup off-by-one comparision in maps__find · 4955ea22
      Namhyung Kim authored
      
      
      map->end is the first addr _outside_ the a map, following the convention
      of vm_area_struct->vm_end.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarStephane Eranian <eranian@google.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/8761fwh1nc.fsf@sejong.aot.lge.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4955ea22
    • Stephane Eranian's avatar
      perf tools: fix off-by-one error in maps · 77faf4d0
      Stephane Eranian authored
      
      
      This patch fixes off-by-one errors in the management of maps.
      
      A map is defined by start address and length as implemented by
      map__new():
      
        map__init(map, type, start, start + len, pgoff, dso);
      
        map->start = addr;
        map->end = end;
      
      Consequently, the actual address range is [start; end[ map->end is the
      first byte outside the range.
      
      This patch fixes two bugs where upper bound checking was off-by-one.
      
      In V2, we fix map_groups__fixup_overlappings() some more where
      map->start was off-by-one as reported by Jiri.
      
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20141006083532.GA4850@quad
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      77faf4d0
    • Arnaldo Carvalho de Melo's avatar
      perf machine: Add missing dsos->root rbtree root initialization · e167f995
      Arnaldo Carvalho de Melo authored
      
      
      A segfault happens on 'perf test hists_link' because we end up using a
      struct machines on the stack, and then machines__init() was not
      initializing the newly introduced rb_root, just the existing list_head.
      
      When we introduced struct dsos, to group the two ways to store dsos,
      i.e. the linked list and the rbtree, we didn't turned the initialization
      done in:
      
      	machines__init(machines->host) ->
      		machine__init() ->
      			INIT_LIST_HEAD
      
      into a dsos__init() to keep on initializing the list_head but _as well_
      initializing the rb_root, oops.
      
      All worked because outside perf-test we probably zalloc the whole thing
      which ends up initializing it in to NULL.
      
      So the problem looks contained to 'perf test' that uses it on stack,
      etc.
      
      Reported-by: default avatarJiri Olsa <jolsa@redhat.com>
      Acked-by: default avatarWaiman Long <Waiman.Long@hp.com&gt;,>
      Cc: Adrian Hunter <adrian.hunter@intel.com>,
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Douglas Hatch <doug.hatch@hp.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Scott J Norton <scott.norton@hp.com>
      Cc: Waiman Long <Waiman.Long@hp.com>,
      Link: http://lkml.kernel.org/r/20141014180353.GF3198@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e167f995
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Make some exit routines static · 8885846f
      Arnaldo Carvalho de Melo authored
      
      
      Since they are automatically called by other methods used by tools.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-ne3g4any7q6ty5d6yv8t1wws@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8885846f
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Add missing 'target' struct forward declaration · 80b2210c
      Arnaldo Carvalho de Melo authored
      
      
      We use it in evsel.h but were getting it indirectly, fix it.
      
      Noticed while working on having evsel.h usable by rasd.c.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-94t3jvw4tmzrq3dnovvpl65e@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      80b2210c
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: Default to syswide target when no thread/cpu maps set · 4112eb18
      Arnaldo Carvalho de Melo authored
      
      
      If all a tool wants is to do system wide event monitoring, there is no
      more the need to setup thread_map and cpu_map objects, just call
      perf_evlist__open() and it will do create one fd per CPU monitoring all
      threads.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-poovolkigu72brx4783uq4cf@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4112eb18
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: Check that there is a thread_map when preparing a workload · 1aaf63b1
      Arnaldo Carvalho de Melo authored
      
      
      The perf_evlist__prepare_workload expects a thread map to be in place
      so that it can store the pid of the workload being started, so check it
      and tell the developer about it instead of segfaulting.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-jvlz2f264e7kpmhjmwltikqw@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1aaf63b1
    • Arnaldo Carvalho de Melo's avatar
      perf thread_map: Create dummy constructor out of open coded equivalent · 641556c9
      Arnaldo Carvalho de Melo authored
      
      
      Create a dummy thread_map, one that has just one entry and it is -1,
      meaning 'all threads', as this ends up going down to perf_event_open().
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-8av26cz8uxmbnihl5mmrygp9@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      641556c9
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Remove hists from evsel · a635fc51
      Arnaldo Carvalho de Melo authored
      
      
      Now tools that deals want to have an hists per evsel need to call
      hists__init() before creating any evsels, which can be as early as when
      parsing the command line, so do it before calling parse_options().
      
      The current tools using hists/hist_entries are report, top and annotate,
      change them to request per evsel hists.
      
      This is in preparation for making evsels usable by 3rd party tools, that
      not necessarily live in perf's source code repository.
      
      Acked-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-usjx2la743f10ippj7p1b20x@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a635fc51
    • Arnaldo Carvalho de Melo's avatar
      perf callchain: Move the callchain_param extern to callchain.h · 8f651eae
      Arnaldo Carvalho de Melo authored
      
      
      It was lost in hist.h, move it to where it belongs, callchain.h, as
      there are places that gets hist.h by means of evsel.h, and since evsel.h
      is being untangled from hist.h...
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-0rg7ji1jnbm6q6gj35j37jby@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8f651eae
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Subclassing · ce8ccff5
      Arnaldo Carvalho de Melo authored
      
      
      Provide a method to be called at tool start to config the perf_evsel
      instance size, together with optional constructor and destructor.
      
      This will be used so that perf_evsel doesn't always include a struct
      hists, tools that works with hists/hist_entries, like report, top and
      annotate, will, at start, tell the evsel class the size they need per
      instance.
      
      v2: Don't use exit as a name of a member of function parameter, as this
          breaks the build on at least fedora14 and rhel6.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-7t8cay0ieryox4gqosie85ek@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ce8ccff5
  5. Oct 14, 2014
    • Arnaldo Carvalho de Melo's avatar
      perf session: Remove last reference to hists struct · 2a1731fb
      Arnaldo Carvalho de Melo authored
      
      
      Now perf_session doesn't require that the evsels in its evlist are hists
      containing ones.
      
      Tools that are hists based and want to do per evsel events_stats
      updates, if at some point this turns into a necessity, should do it in
      the tool specific code, keeping the session class hists agnostic.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-cli1bgwpo82mdikuhy3djsuy@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2a1731fb
    • Linus Torvalds's avatar
      Merge branches 'x86-ras-for-linus', 'x86-uv-for-linus' and... · 77654908
      Linus Torvalds authored
      Merge branches 'x86-ras-for-linus', 'x86-uv-for-linus' and 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull x86 ras, uv and vdso fixlets from Ingo Molnar:
       "ras: tone down a kernel message to only occur during initial bootup,
          not during suspend/resume cycles.
      
        uv: a cleanup commit
      
        vdso: a fix to error checking"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Avoid showing repetitive message from intel_init_thermal()
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic/uv: Remove unnecessary #ifdef
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Fix vdso2c's special_pages[] error checking
      77654908
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2fd7476d
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Misc smaller fixes that missed the v3.17 cycle"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Add arch/x86/purgatory/ make generated files to gitignore
        x86: Fix section conflict for numachip
        x86: Reject x32 executables if x32 ABI not supported
        x86_64, entry: Filter RFLAGS.NT on entry from userspace
        x86, boot, kaslr: Fix nuisance warning on 32-bit builds
      2fd7476d
    • Linus Torvalds's avatar
      Merge branch 'x86-seccomp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ba1a96fc
      Linus Torvalds authored
      Pull x86 seccomp changes from Ingo Molnar:
       "This tree includes x86 seccomp filter speedups and related preparatory
        work, which touches core seccomp facilities as well.
      
        The main idea is to split seccomp into two phases, to be able to enter
        a simple fast path for syscalls with ptrace side effects.
      
        There's no substantial user-visible (and ABI) effects expected from
        this, except a change in how we emit a better audit record for
        SECCOMP_RET_TRACE events"
      
      * 'x86-seccomp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86_64, entry: Use split-phase syscall_trace_enter for 64-bit syscalls
        x86_64, entry: Treat regs->ax the same in fastpath and slowpath syscalls
        x86: Split syscall_trace_enter into two phases
        x86, entry: Only call user_exit if TIF_NOHZ
        x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit
        seccomp: Document two-phase seccomp and arch-provided seccomp_data
        seccomp:...
      ba1a96fc
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f1bfbd98
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "The main changes in this tree are:
      
         - fix and update Intel Quark [Galileo] SoC platform support
      
         - update IOSF chipset side band interface and make it available via
           debugfs
      
         - enable HPETs on Soekris net6501 and other e6xx based systems"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Add cpu_detect_cache_sizes to init_intel() add Quark legacy_cache()
        x86: Quark: Comment setup_arch() to document TLB/PGE bug
        x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead
        x86/platform/intel/iosf: Add debugfs config option for IOSF
        x86/platform/intel/iosf: Add better description of IOSF driver in config
        x86/platform/intel/iosf: Add Braswell PCI ID
        x86/platform/pmc_atom: Fix warning when CONFIG_DEBUG_FS=n
        x86: HPET force enable for e6xx based systems
        x86/iosf: Add debugfs support
        x86/iosf: Add Kconfig prompt for IOSF_MBI selection
      f1bfbd98