1. 04 3月, 2011 6 次提交
  2. 03 3月, 2011 1 次提交
  3. 02 3月, 2011 2 次提交
    • F
      perf: Set filters before mmaping events · 0a102479
      Frederic Weisbecker 提交于
      We currently set the filters after we mmap the events, this is a
      race that let undesired events record themselves in the buffer before
      we had the time to set the filters.
      
      So set the filters before they can be recorded. That also librarizes
      the filters setting so that filtering can be done more easily
      from other tools than perf record later.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      0a102479
    • L
      perf, x86: Add Intel SandyBridge CPU support · b06b3d49
      Lin Ming 提交于
      This patch adds basic SandyBridge support, including hardware
      cache events and PEBS events support.
      
      It has been tested on SandyBridge CPUs with perf stat and also
      with PEBS based profiling - both work fine.
      
      The patch does not affect other models.
      
      v2 -> v3:
       - fix PEBS event 0xd0 with right umask combinations
       - move snb pebs constraint assignment to intel_pmu_init
      
      v1 -> v2:
       - add more raw and PEBS events constraints
       - use offcore events for LLC-* cache events
       - remove the call to Nehalem workaround enable_all function
      Signed-off-by: NLin Ming <ming.m.lin@intel.com>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      LKML-Reference: <1299072424.2175.24.camel@localhost>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b06b3d49
  4. 01 3月, 2011 5 次提交
    • A
      perf top tui: Wait till the first sample to refresh the screen. · 5807806a
      Arnaldo Carvalho de Melo 提交于
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      5807806a
    • A
      perf top: Fix reporting of invalid --vmlinux · 374cfe56
      Arnaldo Carvalho de Melo 提交于
      Using ui__warning, that will, in --tui, show a window with the message,
      waiting for the user to press Ok.
      
      Also run exit_browser() to let newt do its final cleaning of the screen.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      374cfe56
    • A
      perf tui: Make ui__warning modal · a1ceb741
      Arnaldo Carvalho de Melo 提交于
      By taking the ui__lock so that no other screen updates take place while
      waiting for the user.
      
      That was happening when handling an invalid --vmlinux parameter in 'perf
      top --tui', with the screen refresh routine repainting the screen and
      removing the warning window.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a1ceb741
    • A
      perf top browser: Handle empty active symbols list · 3166fc8f
      Arnaldo Carvalho de Melo 提交于
      Fixing a SEGV. An empty list could happen when not being able to resolve
      symbols, for instance when --vmlinux invalid-file is used.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3166fc8f
    • A
      perf symbols: Fix vmlinux path when not using --symfs · a639dc64
      Arnaldo Carvalho de Melo 提交于
      The ec5761ea cset introduced the symfs feature with a bug for loading vmlinux
      files that ended up causing this failure:
      
      [root@emilia v2.6.38-rc5+]# strace -e trace=open perf top --vmlinux ./vmlinux 2>&1 | tail -3
      open("/./vmlinux", O_RDONLY)            = -1 ENOENT (No such file or directory)
      ./vmlinux with build id b9266bf40e98dadb5d43a2f3e95d3c5d4aff46dc not found, continuing without symbols
      The ./vmlinux file can't be used
      [root@emilia v2.6.38-rc5+]#
      
      Remove the extra slash, just like is done in the DSO__ORIG_DSO handling in
      dso__load() and other parts of the ec5761ea cset.
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Cc: David Ahern <daahern@cisco.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a639dc64
  5. 28 2月, 2011 2 次提交
    • T
      perf timechart: Fix max number of cpus · 54b08f5f
      Thomas Renninger 提交于
      Currently numcpus is determined in pid_put_sample which is only
      called on sched_switch/sched_wakeup sample processing.
      
      On a machine with a lot cpus I often saw the last cpu missing.
      
      Check for (max) numcpus on every event happening and in the
      beginning. -> fixes the issue for me.
      Signed-off-by: NThomas Renninger <trenn@suse.de>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
      Cc: lenb@kernel.org
      LKML-Reference: <1298842606-55712-6-git-send-email-trenn@suse.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      54b08f5f
    • T
      perf timechart: Fix black idle boxes in the title · e8530720
      Thomas Renninger 提交于
      This fix is needed for eye of gnome and firefox svg viewers.
      Only Inkscape can handle the broken case.
      
      Compare with the other svg_legenda_box declarations, looks
      like a typo slipped in at this place.
      Signed-off-by: NThomas Renninger <trenn@suse.de>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
      Cc: lenb@kernel.org
      LKML-Reference: <1298842606-55712-5-git-send-email-trenn@suse.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e8530720
  6. 25 2月, 2011 3 次提交
    • A
      perf ui browser: Introduce ui_browser__show_title · b210b3bb
      Arnaldo Carvalho de Melo 提交于
      Needed because we were only showing the title in ui_browser__show,
      not in ui_browser__run, and in the run loop we may be calling other
      browsers that would then change the title, when we go back to the
      previous browser, we need to redraw the title.
      
      We could have done this as the Newt help line, with pop, etc, but I
      don't think its worth, doing it explicitely, when needed (some browsers
      may not use the title area at all) seems enough/more flexible.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      b210b3bb
    • A
      perf top browser: Fix up exit keys · c16bfe9a
      Arnaldo Carvalho de Melo 提交于
      The left key was exiting 'perf top --tui' when it really shouldn't, it
      was too easy to leave the live annotation window and then press one too
      many <- and get out of the tool altogether.
      
      Do just like the report TUI does, ignore the left key for exit and also
      ask the user when pressing ESC if that is really what is wanted.
      Reported-by: NMike Galbraith <efault@gmx.de>
      Suggested-by: NIngo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c16bfe9a
    • A
      perf hists: Print number of samples, not the period sum · 69cf0218
      Arnaldo Carvalho de Melo 提交于
      So that we match the header where we state the number of events with the
      "Samples" column when using 'perf report -n/--show-nr-samples':
      
       [root@emilia ~]# perf record -a sleep 1
       [ perf record: Woken up 1 times to write data ]
       [ perf record: Captured and wrote 0.111 MB perf.data (~4860 samples) ]
       [root@emilia ~]# perf report --stdio --show-nr-samples
       # Events: 11  cycles
       #
       # Overhead  Samples        Command       Shared Object                        Symbol
       # ........ ..........  ...........  ..................  ............................
       #
           16.65%          1        sleep  [kernel.kallsyms]   [k] unmap_vmas
           16.10%          1         perf  libpthread-2.12.so  [.] __pthread_cleanup_push_defer
           15.79%          2         perf  [kernel.kallsyms]   [k] format_decode
           12.88%          1  kworker/1:2  [kernel.kallsyms]   [k] cache_reap
           10.69%          1      swapper  [kernel.kallsyms]   [k] _raw_spin_lock
            7.55%          1        sleep  [kernel.kallsyms]   [k] prepare_exec_creds
            6.00%          1         perf  [jbd2]              [k] start_this_handle
            5.29%          1         perf  [kernel.kallsyms]   [k] seq_read
            4.75%          1         perf  [kernel.kallsyms]   [k] get_pid_task
            4.30%          1         perf  [kernel.kallsyms]   [k] _raw_spin_unlock_irqrestore
      
       #
       # (For a higher level overview, try: perf report --sort comm,dso)
       #
       [root@emilia ~]#
      Reported-by: NStephane Eranian <eranian@google.com>
      Reported-by: NCliff Wickman <cpw@sgi.com>
      Acked-by: NStephane Eranian <eranian@google.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: <stable@kernel.org>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      [ cherry-picked it from perf/core, as it has been reported by others as well. ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      69cf0218
  7. 23 2月, 2011 18 次提交
  8. 22 2月, 2011 3 次提交
    • A
      perf top: Live TUI Annotation · c97cf422
      Arnaldo Carvalho de Melo 提交于
      Now one has just to press the right key, 'a' or Enter on the main 'perf
      top --tui' screen to live annotate the symbol under the cursor.
      
      The annotate window starts centered on the hottest line (the one with
      most samples so far) then TAB and shift+TAB can be used to go to the
      prev/next hot line.
      
      Pressing 'H' at any point will center again the screen on the hottest
      line.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c97cf422
    • A
      perf probe: Remove redundant checks · 8635bf6e
      Arnaldo Carvalho de Melo 提交于
      While fixing an error propagating problem in f809b25 I added two
      redundant checks.
      
      I did that because I didn't expect the checks to be on the while and for
      loop condition expression, where they are tested before we run the loop,
      where the 'ret' variable is set.
      
      So remove it from there and leave it just after it is actually set,
      eliminating unneded tests.
      Reported-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8635bf6e
    • A
      perf evsel: Fix inverted test for fixing up attr.inherit flag · e603dc15
      Arnaldo Carvalho de Melo 提交于
      The kernel refuses mmapping an event with the inherit flag set for
      something that is systemwide (cpu == -1), and the evsel layer got this
      reversed at some point, fix it.
      
      The symtom was that the --pid and --tid parameters for 'perf record' and
      'perf top' returned with -EINVAL, like:
      
       # /tmp/build-perf/perf record -v -fo/tmp/perf.data -p 1042
         Warning:  ... trying to fall back to cpu-clock-ticks
      
         Fatal: failed to mmap with 22 (Invalid argument)
      Reported-by: NDavid Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e603dc15